最近這幾天在配置郵箱總結出一些經驗進行分享、
1.測試
- 測試主要的作用:儘量排除技術以外的問題
- 首先測試郵箱服務器是否可以ping通 如ping不通查看是否是寫錯的問題
- 以下是郵箱服務器地址 :
- smtp.gmail.com
- smtp.gmx.com
- smtp.disroot.org
- smtp.protonmail.com
- smtp.tutanota.com
- 用telnet測試郵箱服務器地址是否可以通 端口包括25,465,587
- 它們的區別:https://blog.csdn.net/zhangyuan12805/article/details/78781330
- telnet Win:http://www.xitongcheng.com/jiaocheng/win10_article_37554.html
- telnet CentOS7:https://blog.csdn.net/chenguangchun1993/article/details/79093119
- 測試中可能出現的問題:
- 1.輸入後telnet smtp.***.com *** 短時間內出現內出現下面問題,請檢查郵箱的SMTP或POP/IMAP是否開啓
- 如果連接的時間比較長之後出現上列問題請換端口嘗試,如都無法連接 (gmail郵箱連接在國內特別不穩定,連上都靠運氣,如果用國外的服務器的是可以的,作者用vps 測試587端口是可以通的,本地測試成功率可以讓人崩潰),請查看是否是1裏面的問題
2.郵箱的配置
- gmail郵箱配置配置
- 其他郵箱大致相同 如gmx郵箱只需配置
3 JavaMail 配置SSL加密及TLS加密
- 在這裏javamail基本配置就不講了,阿里雲默認會把25端關閉,一種是要求他們的打開,第二種換465或者587
//TLS處理
if ("smtp.disroot.org".equals(host) || "smtp.gmx.com".equals(host)) {
properties.put("mail.smtp.port", "587");
properties.put("mail.smtp.starttls.enable", "true");
//不做服務器證書校驗
properties.put("mail.smtp.ssl.checkserveridentity", "false");
}
//SSL處理 沒做過測試
if ("smtp.***.com".equals(host)){
properties.put("mail.smtp.port", "587");
properties.put("mail.smtp.starttls.enable", "true");
properties.put("mail.smtp.socketFactory.port", "587");
properties.put("mail.smtp.socketFactory.class",
"javax.net.ssl.SSLSocketFactory");
}