使用java底层实现邮件的发送(含测试,源码)
生活随笔
收集整理的這篇文章主要介紹了
使用java底层实现邮件的发送(含测试,源码)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
???? 直接上代碼:3個類,兩個主要的類,一個測試類:
?? 主類(Mail):
/** * @Title: Mail.java * @Package org.service.impl * @Description: TODO該方法的主要作用: * @author A18ccms A18ccms_gmail_com * @date 2017-5-30 下午10:20:35 * @version V1.0 */ package org.service.impl;import java.util.Date; import java.util.Properties;import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage;/** * * 項目名稱:spring_Schop8 * 類名稱:Mail * 類描述: 不用spring實(shí)現(xiàn)郵件發(fā)送* 創(chuàng)建人:Mu Xiongxiong * 創(chuàng)建時間:2017-5-30 下午10:20:35 * 修改人:Mu Xiongxiong * 修改時間:2017-5-30 下午10:20:35 * 修改備注: * @version * */ public class Mail {private String mailServer,from ,to , mailSubject,mailContent,username,password;public Mail(String mailServer, String from, String to, String mailSubject,String mailContent, String username, String password) {this.mailServer = mailServer;this.from = from;this.to = to;this.mailSubject = mailSubject;this.mailContent = mailContent;this.username = username;this.password = password;}public Mail() {username = "tina";password = "123"; mailServer = "mail.com";from = "tina@mail.com";to = "jerry@mail.com";mailSubject = "問好";mailContent = "好久沒見,最近可好!";}public void send(){//設(shè)置服務(wù)器Properties prop = System.getProperties();prop.put("mail.smtp.host", mailServer);prop.put("mail.smtp.auth", "true");//產(chǎn)生Session服務(wù)EmailAuthenticator mailauth = new EmailAuthenticator(username, password);Session mailSession = Session.getInstance(prop,(Authenticator)mailauth);//封裝message對象Message message = new MimeMessage(mailSession);try {message.setFrom(new InternetAddress(from)); //設(shè)置發(fā)送人message.setRecipient(Message.RecipientType.TO, new InternetAddress(to)); //設(shè)置主題message.setSubject(mailSubject); //設(shè)置標(biāo)題message.setContent(mailContent,"text/html;charset=utf-8"); //設(shè)置內(nèi)容message.setSentDate(new Date()); //設(shè)置日期//和粗昂就愛你Transport實(shí)例Transport tran = mailSession.getTransport("smtp");tran.send(message, message.getAllRecipients());tran.close();} catch (AddressException e) {// TODO 異常執(zhí)行塊!e.printStackTrace();} catch (MessagingException e) {// TODO 異常執(zhí)行塊!e.printStackTrace();} //}}
第二個主類(EmailAuthenticator):
package org.service.impl;import javax.mail.Authenticator; import javax.mail.PasswordAuthentication;import org.hibernate.validator.constraints.Email;public class EmailAuthenticator extends Authenticator {private String username=null;private String userpass = null;public EmailAuthenticator(String username, String userpass) {super();this.username = username;this.userpass = userpass;}public PasswordAuthentication getPasswordAuthentication(){return new PasswordAuthentication(username, userpass);}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getUserpass() {return userpass;}public void setUserpass(String userpass) {this.userpass = userpass;}}
測試類:
/*** * @Title: testMail1* @Description: 該方法的主要作用:java實(shí)現(xiàn)底層的郵件發(fā)送* @param 設(shè)定文件 * @return 返回類型:void * @throws*/@Testpublic void testMail1(){Mail mail = new Mail();mail.send();System.out.println("發(fā)送成功");}
源碼上完了,再看一下運(yùn)行的結(jié)果吧:
可以看到發(fā)送人,發(fā)送時間,還有發(fā)送內(nèi)容!已經(jīng)發(fā)送成功!
轉(zhuǎn)載于:https://www.cnblogs.com/a1111/p/7459704.html
總結(jié)
以上是生活随笔為你收集整理的使用java底层实现邮件的发送(含测试,源码)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ztree树形菜单demo
- 下一篇: 利用NLTK进行分句分词