1. 程式人生 > >Javax.mail 傳送郵件異常

Javax.mail 傳送郵件異常

一、執行過程丟擲異常

1、Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream

原因:此異常多出現在J2EE版本的郵件服務中,因為J2EE原有jar中包含用於郵件收發的mail.jar,只是版本可能比較低。

解決方法:手動刪除J2EE版本里的JavaMail相關的jar包(mail.jar),匯入自己下載的新版本mail.jar和activation.jar。

2、Exception in thread "main" java.lang.NoClassDefFoundError: javax/activation/DataSource

原因:沒有匯入activation.jar,編譯時異常,執行時如果沒有使用附件功能的話會正常執行。

解決方法:匯入activation.jar

二、傳送過程出現錯誤,一般不是程式碼問題

1、'550 5.1.1 <[email protected]>: Recipient address rejected: User unknown in virtual mailbox table',

 你傳送的帳號在郵件系統內不存在,請檢查你的郵件地址是否輸入有誤

2、'554 5.7.1 <[email protected]>: Sender address rejected: Access denied',

你的郵箱是內部帳號,你所傳送的地址不在授權域之內

3、'553 5.7.1 <[email protected]>: Sender address rejected: not logged in',

傳送郵件需要SMTP身份驗證,你的帳號SMTP身份驗證部分沒有設定正確,請檢查配置

       4、'454 4.7.1 <unknown[***.***.***.***]>: Client host rejected: Access denied'

你的IP被管理員遮蔽,請檢查你部的機器是否被感染病毒自動傳送郵件

三、郵件伺服器退信

網易退信程式碼:

 •421 HL:REP 該IP傳送行為異常,存在接收者大量不存在情況,被臨時禁止連線。請檢查是否有使用者傳送病毒或者垃圾郵件,並核對傳送列表有效性;   •421 HL:ICC 該IP同時併發連線數過大,超過了網易的限制,被臨時禁止連線。請檢查是否有使用者傳送病毒或者垃圾郵件,並降低IP併發連線數量;   •421 HL:IFC 該IP短期內傳送了大量信件,超過了網易的限制,被臨時禁止連線。請檢查是否有使用者傳送病毒或者垃圾郵件,並降低傳送頻率;   •421 HL:MEP 該IP傳送行為異常,存在大量偽造傳送域域名行為,被臨時禁止連線。請檢查是否有使用者傳送病毒或者垃圾郵件,並使用真實有效的域名傳送;   •450 MI:CEL 傳送方出現過多的錯誤指令。請檢查發信程式;   •450 MI:DMC 當前連線傳送的郵件數量超出限制。請減少每次連線中投遞的郵件數量;   •450 MI:CCL 傳送方傳送超出正常的指令數量。請檢查發信程式;   •450 RP:DRC 當前連線傳送的收件人數量超出限制。請控制每次連線投遞的郵件數量;   •450 RP:CCL 傳送方傳送超出正常的指令數量。請檢查發信程式;   •450 DT:RBL 發信IP位於一個或多個RBL裡。請參考http://www.rbls.org/關於RBL的相關資訊;   •450 WM:BLI 該IP不在網易允許的傳送地址列表裡;   •450 WM:BLU 此使用者不在網易允許的發信使用者列表裡;   •451 DT:SPM ,please try again 郵件正文帶有垃圾郵件特徵或傳送環境缺乏規範性,被臨時拒收。請保持郵件佇列,兩分鐘後重投郵件。需調整郵件內容或優化傳送環境;   •451 Requested mail action not taken: too much fail authentication 登入失敗次數過多,被臨時禁止登入。請檢查密碼與帳號驗證設定;   •451 RP:CEL 傳送方出現過多的錯誤指令。請檢查發信程式;   •451 MI:DMC 當前連線傳送的郵件數量超出限制。請控制每次連線中投遞的郵件數量;   •451 MI:SFQ 發信人在15分鐘內的發信數量超過限制,請控制發信頻率;   •451 RP:QRC 發信方短期內累計的收件人數量超過限制,該發件人被臨時禁止發信。請降低該使用者發信頻率;   •451 Requested action aborted: local error in processing 系統暫時出現故障,請稍後再次嘗試傳送;   •500 Error: bad syntaxU 傳送的smtp命令語法有誤;   •550 MI:NHD HELO命令不允許為空;   •550 MI:IMF 發信人電子郵件地址不合規範。請參考http://www.rfc-editor.org/關於電子郵件規範的定義;   •550 MI:SPF 發信IP未被髮送域的SPF許可。請參考http://www.openspf.org/關於SPF規範的定義;   •550 MI:DMA 該郵件未被髮信域的DMARC許可。請參考http://dmarc.org/關於DMARC規範的定義;   •550 MI:STC 發件人當天的連線數量超出了限定數量,當天不再接受該發件人的郵件。請控制連線次數;   •550 RP:FRL 網易郵箱不開放匿名轉發(Open relay);   •550 RP:RCL 群發收件人數量超過了限額,請減少每封郵件的收件人數量;   •550 RP:TRC 發件人當天內累計的收件人數量超過限制,當天不再接受該發件人的郵件。請降低該使用者發信頻率;   •550 DT:SPM 郵件正文帶有很多垃圾郵件特徵或傳送環境缺乏規範性。需調整郵件內容或優化傳送環境;   •550 Invalid User 請求的使用者不存在;   •550 User in blacklist 該使用者不被允許給網易使用者發信;   •550 User suspended 請求的使用者處於禁用或者凍結狀態;   •550 Requested mail action not taken: too much recipient  群發數量超過了限額;   •552 Illegal Attachment 不允許傳送該型別的附件,包括以.uu .pif .scr .mim .hqx .bhx .cmd .vbs .bat .com .vbe .vb .js .wsh等結尾的附件;   •552 Requested mail action aborted: exceeded mailsize limit 傳送的信件大小超過了網易郵箱允許接收的最大限制;   •553 Requested action not taken: NULL sender is not allowed 不允許發件人為空,請使用真實發件人傳送;   •553 Requested action not taken: Local user only  SMTP型別的機器只允許發信人是本站使用者;   •553 Requested action not taken: no smtp MX only  MX型別的機器不允許發信人是本站使用者;   •553 authentication is required  SMTP需要身份驗證,請檢查客戶端設定;   •554 DT:SPM 傳送的郵件內容包含了未被許可的資訊,或被系統識別為垃圾郵件。請檢查是否有使用者傳送病毒或者垃圾郵件;   •554 DT:SUM 信封發件人和信頭髮件人不匹配;   •554 IP is rejected, smtp auth error limit exceed 該IP驗證失敗次數過多,被臨時禁止連線。請檢查驗證資訊設定;   •554 HL:IHU 發信IP因傳送垃圾郵件或存在異常的連線行為,被暫時掛起。請檢測發信IP在歷史上的發信情況和發信程式是否存在異常;   •554 HL:IPB 該IP不在網易允許的傳送地址列表裡;   •554 MI:STC 發件人當天內累計郵件數量超過限制,當天不再接受該發件人的投信。請降低發信頻率;   •554 MI:SPB 此使用者不在網易允許的發信使用者列表裡;   •554 IP in blacklist 該IP不在網易允許的傳送地址列表裡。