spring mail 发送邮件
生活随笔
收集整理的這篇文章主要介紹了
spring mail 发送邮件
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
最近在項(xiàng)目中用到了發(fā)送郵件的功能(用戶(hù)注冊(cè)郵箱激活、用戶(hù)密碼重置郵箱獲取驗(yàn)證碼等等),所以寫(xiě)了一下java的郵件發(fā)送。
java mail
java mail是最早出現(xiàn)的java郵件發(fā)送,以下是它的使用方式(引入jar包:activation.jar、mail.jar) package com.lingjuli.servlet;import java.util.Date; import java.util.Properties;import javax.mail.Authenticator; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.Multipart; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart;public class SendMail {private static String username = "luo.xxx@163.com";private static String password = "xxx";private static String smtpServer = "smtp.163.com";//郵件協(xié)議private static String fromMailAddress = "luo.xxx@163.com";private static String toMailAddress = "xxx@sina.com";public static void main(String[] args) throws Exception {Properties props = new Properties();props.put("mail.smtp.auth", "true");props.put("mail.smtp.host", smtpServer);// 獲得郵件會(huì)話(huà)對(duì)象Session session = Session.getDefaultInstance(props,new SmtpAuthenticator(username, password));/** *************************************************** */// 創(chuàng)建MIME郵件對(duì)象MimeMessage mimeMessage = new MimeMessage(session);mimeMessage.setFrom(new InternetAddress(fromMailAddress));// 發(fā)件人mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(toMailAddress));// 收件人mimeMessage.setSubject("主題");mimeMessage.setSentDate(new Date());// 發(fā)送日期BodyPart mdp = new MimeBodyPart();// 新建一個(gè)存放信件內(nèi)容的BodyPart對(duì)象mdp.setContent("測(cè)試java郵件發(fā)送", "text/html;charset= GB2312");// 設(shè)置發(fā)送郵件內(nèi)容為HTML類(lèi)型,并為中文編碼Multipart mm = new MimeMultipart();mm.addBodyPart(mdp);mimeMessage.setContent(mm);mimeMessage.saveChanges();Transport.send(mimeMessage);// 發(fā)送郵件}} /*** Smtp認(rèn)證*/ class SmtpAuthenticator extends Authenticator {String username = null;String password = null;// SMTP身份驗(yàn)證public SmtpAuthenticator(String username, String password) {this.username = username;this.password = password;}public PasswordAuthentication getPasswordAuthentication() {return new PasswordAuthentication(this.username, this.password);}}spring mail?
通過(guò)spring對(duì)java mail的上層封裝,以下為使用方式
package com.zwx.utils;import java.io.File;import javax.mail.MessagingException; import javax.mail.internet.MimeMessage;import org.springframework.mail.javamail.JavaMailSenderImpl; import org.springframework.mail.javamail.MimeMessageHelper;public class MailSender {/*private static String username = "luo.xxx@163.com";private static String password = "xxx";private static String smtpServer = "smtp.163.com";private static String fromMailAddress = "luo.xxx@163.com";private static String toMailAddress = "xxx@sina.com";*/private static PropertiesLoader propertiesLoader = new PropertiesLoader("bdsc-web.properties");//讀取配置文件public static void mailSimple(String toMailSAddress,String subject,String content) {// 發(fā)送器 JavaMailSenderImpl mailSender= new JavaMailSenderImpl();// 建立郵件消息,發(fā)送簡(jiǎn)單郵件和html郵件的區(qū)別MimeMessage mailMessage = mailSender.createMimeMessage();// 為防止亂碼,添加編碼集設(shè)置MimeMessageHelper messageHelper = null;try {//發(fā)送附件 則 參數(shù)為 multipart 為 turemessageHelper = new MimeMessageHelper(mailMessage,true,"UTF-8");} catch (MessagingException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}//設(shè)定mail servermailSender.setHost(propertiesLoader.getProperty("mail.smtp.host"));mailSender.setPort(propertiesLoader.getInteger("mail.smtp.port"));mailSender.setUsername(propertiesLoader.getProperty("mail.smtp.username"));mailSender.setPassword(propertiesLoader.getProperty("mail.smtp.password"));//建立郵件消息//設(shè)置收件人、寄件人try {messageHelper.setTo(toMailSAddress);messageHelper.setFrom(propertiesLoader.getProperty("mail.smtp.username"));messageHelper.setSubject(subject);messageHelper.setText(content,true);//附件內(nèi)容messageHelper.addAttachment("附件1", new File("h:/test/abc.pdf"));messageHelper.addAttachment("附件2", new File("h:/test/qwe.gif"));} catch (MessagingException e) {// TODO Auto-generated catch blocke.printStackTrace();}//發(fā)送郵件mailSender.send(mailMessage);System.out.println("郵件發(fā)送成功!");}public static void main(String[] args) {try {MailSender.mailSimple("xxx@sina.com","qwe","qwe");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}} }bdsc-web.properties
#spring mail mail.smtp.username = luo.xxx@163.com mail.smtp.password = xxx mail.smtp.host = smtp.163.com mail.smtp.auth = true mail.smtp.timeout = 1000總結(jié)
以上是生活随笔為你收集整理的spring mail 发送邮件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: springmvc + ajaxfile
- 下一篇: spring timetask 定时任务