javamail在linux環境中發送郵件問題總結

在windows中使用javamail發送郵件成功,附件也沒問題。當服務部署到linux後,發現收不到郵件。解決步驟如下:

步驟一:

ping smtp.126.com

提示:unknow host

解決:配置dns

配置完之後還是無法發送郵件,日誌報錯:cannot connect to  smtp.126.com port 25

步驟二:

將25端口換成465端口。代碼如下:

properties.setProperty("mail.smtp.port", "465");
properties.setProperty("mail.smtp.socketFactory.port", "465");
properties.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");

配置完之後可以發送郵件。但是:附件名稱和後綴不對了,在Windows下沒有這個問題

步驟三:

修改代碼:

BodyPart messageBodyPart = new MimeBodyPart();
DataSource source = new FileDataSource(filename);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(MimeUtility.encodeText(source.getName()));

重啓部署服務,完美解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章