论坛首页 编程语言技术论坛

Java实现发送邮件功能

浏览 969 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2015-03-31  

今天整理了一份关于使用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;
        }
    }

 四、查看效果


 
 

论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics