今天整理了一份关于使用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; } }
四、查看效果