使用javax.mail發(fā)送郵件

controller層

//發(fā)送郵件
?@RequestMapping("/sendEmail")
?public void sendEmail(HttpServletRequest request,HttpServletResponse response){
??//建立map用于回傳參數(shù)
??Map<String, Object> returnMap=new HashMap<>();
??try {
???//解析request請(qǐng)求,獲取參數(shù)
???String targetAddress = request.getParameter("targetAddress");
???String title = request.getParameter("title");
???String content = request.getParameter("content");
???//調(diào)用發(fā)送郵件的工具
???SendEmailToUser.sendEmailInfoToUser(targetAddress,title,content);
???returnMap.put("isSuccess", true);//發(fā)送成功
??} catch (Exception e) {
???returnMap.put("isSuccess", false);//發(fā)送失敗
???e.printStackTrace();
??}
??//回傳
??Gson gson=new Gson();
??String responseContent = gson.toJson(returnMap);
??this.flushResponse(response, responseContent);
?}
}

/*
?* 傳送郵件
?*/
public class SendEmailToUser {
?//傳送郵件的方法
?public static void sendEmailInfoToUser(String targetAddress, String title, String content) throws Exception{
??//與服務(wù)器建立連接
??
??Properties properties=new Properties();
??//設(shè)置服務(wù)器的名字
??properties.setProperty("mail.host", "smtp.163.com");
??//設(shè)置郵件的傳輸協(xié)議
??properties.setProperty("mail.transport.protocol", "smtp");
??//設(shè)置是否驗(yàn)證服務(wù)器的用戶名和密碼
??properties.setProperty("mail.smtp.auth", "true");
??// 創(chuàng)建客戶端與郵箱服務(wù)器的Session對(duì)象( Session用于收集JavaMail運(yùn)行過(guò)程中的環(huán)境信息)
??Session session = Session.getInstance(properties);
??//通過(guò)session得到傳輸?shù)膖ransport對(duì)象
??Transport transport = session.getTransport();
??// 使用用戶名密碼連接上郵箱服務(wù)器,此處的密碼需要到郵箱開(kāi)啟服務(wù)設(shè)置
??transport.connect("smtp.163.com", "chenzetao6666", "chenzetao6666");
??//創(chuàng)建郵件對(duì)象
??Message message=creatMessage(targetAddress,title,content,session);
??//發(fā)送郵件----essage.getAllRecipients()獲取所有的收件人
??transport.sendMessage(message, message.getAllRecipients());
??transport.close();//關(guān)閉傳送
?}

?private static Message creatMessage(String targetAddress, String title, String content, Session session) throws Exception{
??//通過(guò)message的子類mimeMessage創(chuàng)建對(duì)象
??Message message=new MimeMessage(session);
??//設(shè)置郵件的發(fā)送人
??message.setFrom(new InternetAddress("chenzetao6666@163.com"));
??//設(shè)置郵件的接收人
??message.setRecipient(Message.RecipientType.TO, new InternetAddress(targetAddress));
??//郵件的標(biāo)題
??message.setSubject(title);
??//郵件的內(nèi)容
??message.setContent(content,"text/html;charset=UTF-8");
??return message;
?}
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容