SSM_Email(邮件发送)
前端js编写
function EmailOper() {
//弹出发邮件的框框
this.sendEmail = function(email) {
var htmlStr = this.initHtml();
$.layer({
type : 1,
title : '发送邮件',
area : [ 'auto', 'auto' ],
page : {
html : htmlStr
}
});
$("#sendAddress").val(email);
}
//发送邮件
this.send = function() {
var sendAddress = $("#sendAddress").val();
if (!sendAddress) {
var alerts = layer.alert("收件人必须填写", 5, function() {
layer.close(alerts);
});
return null;
}
var title = $("#title").val();
if (!title) {
var alerts = layer.alert("邮件标题必须填写", 5, function() {
layer.close(alerts);
});
return null;
}
var content = $("#content").val();
if (!content) {
var alerts = layer.alert("邮件内容必须填写", 5, function() {
layer.close(alerts);
});
return null;
}
var param = new Object();
param.sendAddress = sendAddress;
param.title = title;
param.content = content;
$.ajax({
url : "/SSMProject/user/sendMail",
type : 'post',// 提交的方式
data : param,
success : function(msg) {
var obj = jQuery.parseJSON(msg);
if (true == obj.isSucess) {
var alerts = layer.alert("发送成功", 1, function() {
layer.close(alerts);
location.reload();// 刷新页面
});
} else {
var alerts = layer.alert("发送失败", 5, function() {
layer.close(alerts);
});
}
}
});
}
this.initHtml = function() {
var htmlStr = "";
htmlStr += '<div style="width:600px;" >';
// htmlStr += '<div style=" line-height:30px; text-indent:10px;
// margin-bottom:20px; background-color:#eee;
// position:relative;">发送邮件</div>';
htmlStr += '<div style="display:block; padding-bottom:20px;" align="center" >';
htmlStr += '<table border="0" >';
htmlStr += '<tr>';
htmlStr += '<td colspan="2">';
htmlStr += '<span>收件人:</span>';
htmlStr += '<input type="text" id="sendAddress" readonly="readonly" style="width:480px;">';
htmlStr += '</td>';
htmlStr += '</tr>';
htmlStr += '<tr>';
htmlStr += '<td colspan="2">';
htmlStr += '<span>标题:</span>';
htmlStr += '<input type="text" id="title" style="width:480px;">';
htmlStr += '</td>';
htmlStr += '</tr>';
htmlStr += '<tr>';
htmlStr += '<td colspan="2">';
htmlStr += '<span>内容:</span>';
htmlStr += '<textarea type="text" rows="4" id="content" style="width:480px;"></textarea>';
htmlStr += '</td>';
htmlStr += '</tr>';
htmlStr += '<tr><td colspan="2" align="center">';
htmlStr += '<input name="" type="button" onclick="javascript:emailOper.send();" value="发送" />';
htmlStr += '</td></tr>';
htmlStr += '</table>';
htmlStr += '</div>';
htmlStr += '</div>';
return htmlStr;
}
}
后台处理
@RequestMapping(method = RequestMethod.POST, value = "/sendMail")
@ResponseBody
public void sendMail(HttpServletRequest request,
HttpServletResponse response) throws ParseException {
Map<String, Object> retMap = new HashMap<String, Object>();
try {
String sendAddress = request.getParameter("sendAddress");
String title = request.getParameter("title");
String content = request.getParameter("content");
SendEmail.SendEmailInfoUser(sendAddress, title, content);
retMap.put("isSucess", true);
} catch (Exception e) {
e.printStackTrace();
retMap.put("isSucess", false);
}
Gson gson = new Gson();
String resultJson = gson.toJson(retMap);
this.flushResponse(response, resultJson);
}
public static void SendEmailInfoUser(String sendAddress, String title, String content) throws Exception {
Properties properties = new Properties();
//设置服务器名称
properties.setProperty("mail.host", "smtp.163.com");
//设置邮件传输协议
properties.setProperty("mail.transport.protocol", "smtp");
//设置是否要验证服务器用户名和密码
properties.setProperty("mail.smtp.auth", "true");
// 创建客户端与邮箱服务器的Session对象( Session用于收集JavaMail运行过程中的环境信息)
Session session = Session.getInstance(properties);
// 通过session得到transport对象(发送邮件)
Transport transport = session.getTransport();
// 使用用户名密码连接上邮箱服务器,此处的密码需要到邮箱开启服务设置
transport.connect("smtp.163.com", "111(邮箱名去掉后缀)", "111(授权码)");
// 创建邮件
Message message = createSimpleMail(session, sendAddress, title, content);
// 发送邮件
transport.sendMessage(message, message.getAllRecipients());
transport.close();
}
private static Message createSimpleMail(Session session, String sendAddress, String title, String content) throws Exception{
// 创建邮件对象
MimeMessage message = new MimeMessage(session);
// 指明邮件的发件人
message.setFrom(new InternetAddress("111@163.com"));
// 指明邮件的收件人
message.setRecipient(Message.RecipientType.TO, new InternetAddress(sendAddress));
// 邮件的标题
message.setSubject(title);
// 邮件的内容
message.setContent(content, "text/html;charset=UTF-8");
return message;
}