這篇文章主要講解了“Java Mail發(fā)送郵件異常問(wèn)題有哪些”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Java Mail發(fā)送郵件異常問(wèn)題有哪些”吧!
站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到偏關(guān)網(wǎng)站設(shè)計(jì)與偏關(guān)網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋偏關(guān)地區(qū)。
在使用JavaMail發(fā)送郵件時(shí),一般需要指定一些屬性參數(shù),是通過(guò)Session使用java.util.Properties來(lái)構(gòu)造,常用的用來(lái)構(gòu)造Session的屬性如下:
mail.smtp.user
SMTP的缺省用戶名。
mail.smtp.host
要連接的SMTP服務(wù)器。
mail.smtp.port
要連接的SMTP服務(wù)器的端口號(hào),如果connect沒(méi)有指明端口號(hào)就使用它,缺省值25。
mail.smtp.auth
缺省是false,如果為true,嘗試使用AUTH命令認(rèn)證用戶。
mail.transport.protocol
要裝入session的協(xié)議(smtp、pop3、imap、nntp)。
mail.smtp.connectiontimeout
Socket連接超時(shí)值,單位毫秒,缺省值不超時(shí)。
mail.smtp.timeout
Socket I/O超時(shí)值,單位毫秒,缺省值不超時(shí)。
mail.smtp.from
SMTP MAIL使用的Email地址,用來(lái)設(shè)置郵件的return地址。缺省是Message.getFrom()或InternetAddress.getLocalAddress()。注意:mail.smtp.user優(yōu)先使用
mail.smtp.localhost
localhost名,缺省是InetAddress.getLocalHost().getHostName()。如果JDK和name service正確配置,一般不需設(shè)置。
mail.host
郵件交互的主機(jī)。
mail.smtp.ehlo
如果為false,那么不會(huì)嘗試使用EHLO命令登錄,缺省是true。通常EHLO命令失敗,會(huì)倒退到HELO命令。這個(gè)屬性只有在服務(wù)器沒(méi)有fail EHLO屬性或沒(méi)有實(shí)現(xiàn)EHLO屬性。
mail.user
登錄郵件服務(wù)器的用戶名(發(fā)送郵件時(shí)需要)。
mail.from
發(fā)件人地址(發(fā)送郵件時(shí)需要)。
1.發(fā)送郵件異常
在使用springmail發(fā)送郵件時(shí),未指定mail.smtp.localhost,本來(lái)代碼運(yùn)行正常,突然有一天,新設(shè)備的hostname發(fā)生變化,無(wú)法正常發(fā)送郵件。異常如下:
最終排查發(fā)現(xiàn)是hostname的問(wèn)題。
解決方法一:
修改/etc/hosts文件,增加hostname與ip地址間的映射,如下,最后一行為新增:
解決方法二:
發(fā)送郵件Session屬性中增加mail.smtp.localhost的配置,如下(一般localhost是存在的)
prop.put("mail.smtp.localhost","localhost");
原因:
JavaMail發(fā)送郵件時(shí),會(huì)提取本地hostname之后,會(huì)已ip的形式去發(fā)送郵件,但是在linux服務(wù)器下,無(wú)法解析hostname對(duì)應(yīng)的本機(jī)ip地址,導(dǎo)致JavaMail無(wú)法調(diào)用ip發(fā)送。Postfix 收到這種郵件將拒絕發(fā)送,而產(chǎn)生 501 錯(cuò)誤。(windows服務(wù)器可以發(fā)送,是由于采用了不netbios 協(xié)議去獲得該主機(jī)的 ip 地址,所以可以獲取到ip)
在/etc/hosts配置有問(wèn)題時(shí),也出現(xiàn)過(guò)以下異常,以備參考:
感謝各位的閱讀,以上就是“Java Mail發(fā)送郵件異常問(wèn)題有哪些”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Java Mail發(fā)送郵件異常問(wèn)題有哪些這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
名稱欄目:JavaMail發(fā)送郵件異常問(wèn)題有哪些
文章分享:http://jinyejixie.com/article34/ggihpe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、商城網(wǎng)站、網(wǎng)站內(nèi)鏈、網(wǎng)站建設(shè)、網(wǎng)站收錄、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)