今天整理了一份关于使用Java技术(commons-email-1.1.jar)实现发送邮件功能的小例子,共享一下(最后附jar包)。
页面只是简单弄了一下,将就看。
一、jsp代码
<form action="email/sendMail.do" method="post">
<table>
<tr>
<td width="43"><span class="STYLE1">接收人:</span></td>
<td width="514"><input type="text" name="to" /></td>
</tr>
<tr>
<td><span class="STYLE1">标题:</span></td>
<td><input type="text" name="title" /></td>
</tr>
<tr>
<td><span class="STYLE1">内容:</span></td>
<td><textarea name="context" rows="5"></textarea></td>
</tr>
<tr>
<td><span class="STYLE1"><input type="button" value="发送"
id="send" /></span></td>
<td><span class="STYLE1" id="close"><input type="button" value="关闭" /></span></td>
</tr>
</table>
</form>
我是用ajax提交的,so...
$("#send").click(function() { var url = "email/sendMail.do"; var params = { "to" : $(":input[name=to]").val(), "title" : $(":input[name=title]").val(), "context" : $(":input[name=context]").val() }; $.post(url,params,function(data){ //$("#close").after("<span>"+data+"</span>"); alert(data); },"html"); });
二、controller
/**
* 发送邮件
*
* @param to
* 邮件接收人
* @param context
* 邮件内容
* @param title
* 邮件标题
* @param response
* 返回ajax请求
* @throws IOException
*/
@RequestMapping("/sendMail")
public void sendMail(String to, String context, String title, HttpServletResponse response) throws IOException {
response.setCharacterEncoding("UTF-8");
// 发送邮件工具类
SendMail sm = new SendMail();
// 如果SendMail类的sendMail方法返回true->发送成功
if (sm.sendMail(to, context, title)) {
response.getWriter().write("发送邮件成功!");
}
// 如果SendMail类的sendMail方法返回false->发送失败
else {
response.getWriter().write("发送邮件失败!");
}
}
三、SendMail类(就一个方法,sendMail)
/**
* 发送邮件工具类主方法, 返回值为boolean类型, 当返回true时,表明发送邮件成功,否则发送失败
*
* @param to
* @param context
* @param title
* @return sendOk
*/
public boolean sendMail(String to, String context, String title) {
boolean sendOk = false;
SimpleEmail email = new SimpleEmail();
// 设置发送主机的服务器地址
email.setHostName("smtp.163.com");// 指定要使用的邮件服务器
// 如果要求身份验证,设置用户名、密码,分别为发件人在邮件服务器上注册的用户名和密码
email.setAuthentication("rxxzyd1123@163.com", "***密码***");
email.setCharset("UTF-8");
try {
// 发件人邮箱,发件人姓名
email.setFrom("rxxzyd1123@163.com ", "**发件人姓名**");
// 设置收件人邮箱
email.addTo(to);
// 设置邮件的主题
email.setSubject(title);
// 邮件正文消息
email.setMsg(context);
// 发送邮件
email.send();
sendOk = true;
return sendOk;
} catch (EmailException e) {
e.printStackTrace();
return sendOk;
}
}
四、查看效果