通常發送郵件的話系統項目中可能會用到,像一些通知信息自動發送等,會用到發送郵件的狀況,發送郵件有好多種,包括設置各類格式,添加圖片附件等,固然今天咱們先看一下怎麼實現發送成功。java
工欲善其事必先利其器,開始以前,必定要引入依賴 ,否則程序會報錯apache
引入pom.xml文件服務器
<!--發送郵件引入jar包--> <dependency > <groupId >javax.mail </groupId > <artifactId >mail </artifactId > <version >1.4.6 </version > </dependency > <dependency > <groupId >com.sun.mail </groupId > <artifactId >javax.mail </artifactId > <version >1.5.5 </version > </dependency >
引入依賴以後,咱們就能夠寫發送郵件的測試類了學習
import org.apache.commons.mail.EmailException; import org.apache.commons.mail.HtmlEmail; /** * @author pillar * @date 2019-05-10 */ public class testMail { public static void main(String[] args) { String msg="testMail: hello word"; testMail.sendMailMessage(msg); } /** * 發送郵件實現類 * @param msg */ public static void sendMailMessage(String msg) { try { //郵箱服務器地址如:mail.qq.com String hostName ="139.159.XXX"; // 賬號與密碼 String userName ="用戶名"; String password = "密碼"; // 發件人 String fromAddress ="用戶名@XXX.com"; // 發件人姓名 String fromName = "pillarzhang"; HtmlEmail email=new HtmlEmail(); email.setHostName(hostName);// 設置smtp服務器 email.setAuthentication(userName, password);// 設置受權信息 email.setCharset("utf-8"); email.setFrom(fromAddress, fromName, "utf-8");// 設置發件人信息 email.setSubject("testMail");// 設置主題 email.setHtmlMsg(msg);// 設置郵件內容 email.addTo("1208699589@qq.com", "pillarzhang", "utf-8"); System.err.println(email.getSmtpPort()); System.err.println(email.getHostName()); String res = email.send();// 發送郵件 System.err.println(res); } catch (EmailException e) { System.err.println("郵件發送失敗"); e.printStackTrace(); } } }
若是要用qq,163等其餘郵箱作服務器測試注意25端口和受權碼的設置 不然可能會提示發送失敗哦測試
這裏我用的是我本地郵箱服務器地址,啓動測試執行以後,qq郵箱就會收到郵件了!xml
郵件能夠正常發送郵件了,固然若有不當之處請多多指正,一塊兒交流學習進步!blog