欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實(shí)現(xiàn)發(fā)送郵件功能時(shí)碰到的坑

 更新時(shí)間:2016年06月15日 11:44:44   作者:夢(mèng)筆生金  
之前用163郵箱發(fā)郵件時(shí)明明是成功的,但是使用中國(guó)移動(dòng)自己的郵箱時(shí),無(wú)論如何在linux服務(wù)器中都發(fā)送不成功。下面小編給大家說(shuō)下我是怎么解決的,一起看下吧

之前用163郵箱發(fā)郵件時(shí)明明是成功的,但是使用中國(guó)移動(dòng)自己的郵箱時(shí),無(wú)論如何在linux服務(wù)器中都發(fā)送不成功,一開始報(bào)如下錯(cuò)誤:

javax.mail.MessagingException: Unknown SMTP host: mail.chinamobilesz.com 
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1959) ~ [mail-1.4.7.jar:1.4.7] 
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:65 4) ~[mail-1.4.7.jar:1.4.7] 
at javax.mail.Service.connect(Service.java:317) ~[mail-1.4.7.jar:1.4.7] 
at javax.mail.Service.connect(Service.java:176) ~[mail-1.4.7.jar:1.4.7] 
at javax.mail.Service.connect(Service.java:125) ~[mail-1.4.7.jar:1.4.7] 
at javax.mail.Transport.send0(Transport.java:194) ~[mail-1.4.7.jar:1.4.7 ] 
at javax.mail.Transport.send(Transport.java:124) ~[mail-1.4.7.jar:1.4.7] 
at com.cmsz.processOm.service.impl.EmailSendServiceImpl.sendEmail(EmailS endServiceImpl.java:107) ~[EmailSendServiceImpl.class:na] 
at com.cmsz.processOm.controller.WorkOrderController$SendEmail.isSendEma il(WorkOrderController.java:555) [WorkOrderController$SendEmail.class:na] 
at com.cmsz.processOm.controller.WorkOrderController$SendEmail.run(WorkO rderController.java:524) [WorkOrderController$SendEmail.class:na] 
at java.lang.Thread.run(Thread.java:745) [na:1.7.0.11] 
...... 

在linux中telnet mail.chinamobilesz.com 25也不通,但是直接把mail.chinamobilesz.com換成ip就可以了,在網(wǎng)上查找資料并參考其他文章后,設(shè)置了主機(jī)名和ip的映射后終于telnet成功連接:

但是盡管telnet成功連接了,啟動(dòng)項(xiàng)目后發(fā)送郵件依然報(bào)錯(cuò),只不過(guò)換了一個(gè)錯(cuò)誤而已:

javax.mail.MessagingException: Could not connect to SMTP host: mail.chinamobilesz.com, port: 25 
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1961) ~[mail-1.4.7.jar:1.4.7] 
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:654) ~[mail-1.4.7.jar:1.4.7] 
at javax.mail.Service.connect(Service.java:317) ~[mail-1.4.7.jar:1.4.7] 
at javax.mail.Service.connect(Service.java:176) ~[mail-1.4.7.jar:1.4.7] 
at javax.mail.Service.connect(Service.java:125) ~[mail-1.4.7.jar:1.4.7] 
at javax.mail.Transport.send0(Transport.java:194) ~[mail-1.4.7.jar:1.4.7] 
at javax.mail.Transport.send(Transport.java:124) ~[mail-1.4.7.jar:1.4.7] 
at com.cmsz.processOm.service.impl.EmailSendServiceImpl.sendEmail(EmailSendServiceImpl.java:107) ~[EmailSendServiceImpl.class:na] 
at com.cmsz.processOm.controller.WorkOrderController$SendEmail.isSendEmail(WorkOrderController.java:555) [WorkOrderController$SendEmail.class:na] 
at com.cmsz.processOm.controller.WorkOrderController$SendEmail.run(WorkOrderController.java:524) [WorkOrderController$SendEmail.class:na] 
at java.lang.Thread.run(Thread.java:745) [na:1.7.0.11] 
...... 

查找很多資料還是沒能解決問(wèn)題,不明白明明可以telnet的,為什么到了程序中就連接不上。如此折騰了好久,最終由組長(zhǎng)出馬解決了問(wèn)題,我也才終于知道了原因。竟然是項(xiàng)目中如下代碼導(dǎo)致:

// SSL加密 
MailSSLSocketFactory sf = null; 
try { 
sf = new MailSSLSocketFactory(); 
// 設(shè)置信任所有的主機(jī) 
sf.setTrustAllHosts(true); 
proerties.put("mail.smtp.ssl.enable", "true"); 
proerties.put("mail.smtp.ssl.socketFactory", sf); 
} catch (GeneralSecurityException e) { 
e.printStackTrace(); 
} 

使用了這一段代碼后,連接的是465端口,不是25,但是實(shí)際上移動(dòng)提供給我的郵箱沒有開465這個(gè)端口,因此便造成不論是465還是25端口都連接不上,于是去掉這段代碼后,啟動(dòng)項(xiàng)目再次發(fā)送郵件便成功了。

以上所述是小編給大家介紹的Java實(shí)現(xiàn)發(fā)送郵件功能時(shí)碰到的坑的全部敘述,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論