利用Apache commons-email组件发送邮件

本文详细介绍了如何在Java Web项目中利用Apache Commons Email组件发送带附件的邮件。通过创建JSP页面、Servlet以及配置Web.xml,演示了从上传文件到发送邮件的完整过程,包括SMTP服务器设置和身份验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本程序利用Apache commons Email、Apache commons IO、Apache commons FileUpload组件,并使用MyEclipse6.0、JDK6.0、Tomcat6.0调试通过。
commons-email是apache提供的一个开源的API,主要包括SimpleEmail,MultiPartEmail,HtmlEmail,EmailAttachment四个类。
    SimpleEmail:发送简单的email,不能添加附件
    MultiPartEmail:文本邮件,可以添加多个附件
    HtmlEmail:HTML格式邮件,同时具有MultiPartEmail类所有“功能”
    EmailAttchment:附件类,可以添加本地资源,也可以指定网络上资源,在发送时自动将网络上资源下载发送
使用Apache commons Email组件发送邮件时,要求有一个可支持Email发送的邮件服务器,并且有合法的帐号及密码,本例中使用163提供的smtp.163.com服务器。具体步骤如下:

1.    在MyEclipse中创建Web项目

在MyEclipse中创建Web项目JavaMail,在WebRoot中创建用于保存上传文件的目录 uploads

2.    到http://www.apache.org下载相关的组件

到http://www.apache.org下载相关的组件,下载后解压缩,并找到下面本个JAR文件,复制到Web项目的WEB-INF/lib目录中。
commons-email-1.1.jar
commons-fileupload-1.2.1.jar
commons-io-1.4.jar

3. 创建显示消息的JSP文件message.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <base href="<%=basePath%>">
   
    <title>消息提示</title>

</head>

<body>
    ${requestScope['sendmail.message'] }
</body>
</html>

4 带附件的电子邮件

4.1 创建JSP文件sendMail2.jsp


<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <base href="<%=basePath%>">
   
    <title>带附件的电子邮件</title>

</head>

<body>
    使用Apache 组件发送带附件的邮件
    <hr/>
<form action="<%=request.getContextPath()%>/servlet/SendMailController2" method="post" enctype="multipa
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值