搜尋
首頁类库下载java类库java郵件發送 qq與163郵箱互發和qq和163郵箱發送其他郵箱實例

1.首先要向你的專案裡導入1個jar包:mail-1.4.4.jar即可(實現qq和163郵箱發送其他郵箱(此案例只演示一種))

2.代碼如下所顯示

public class TestDemo1 {
    static String SSL_EMAIL = "javax.net.ssl.SSLSocketFactory";

   //需要传的值都在main方法调用的sendmail里传!
    public static void main(String[] args) {
         String s = sendmail(username, pass, from, to, subject, content);
         System.out.println(s);
    }
    /**
     * 
     * @param username 发件人邮件的用户名
     * @param pass 发件人邮件的密码(此密码一定要是授权码   授权码:在发件人邮箱内开启smtp/pop3协议所获得的授权码)
     * @param from 发件人邮箱
     * @param to   收件人邮箱
     * @param subject 邮件标题
     * @param content 邮件内容
     * @return
     */
    public static String sendmail(final String username, final String pass,
            String from, String to, String subject, String content) {
        //Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
        //设置系统参数
        Properties props = System.getProperties();
        props.setProperty("mail.smtp.socketFactory.class", SSL_EMAIL);
        props.setProperty("mail.smtp.socketFactory.fallback", "true");
        props.setProperty("mail.store.protocol", "smtp");
        props.setProperty("mail.smtp.host", "smtp.qq.com");
        //props.setProperty("mail.smtp.port", "465");
        props.setProperty("mail.smtp.socketFactory.port", "465");
        props.put("mail.smtp.auth", "true");
        //创建邮件会话
        Session session = Session.getInstance(props, new Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(username, pass);
            }
        });
        //创建邮件信息
        Message msg = new MimeMessage(session);
        try {
            msg.setFrom(new InternetAddress(username));
            msg.setRecipients(Message.RecipientType.TO,
                    InternetAddress.parse(to, false));
            msg.setSubject(subject);
            msg.setText(content);
            msg.setSentDate(new Date());
            Transport.send(msg);
            return "1";
        } catch (MessagingException e) {
            return e.getMessage();
        }
    }
}

3.發送郵件切記的有一下幾點:

  (1)發送郵件方一定要開通smtp/pop3協定!

  (2)發送郵件方一定要用開通後的授權碼當做密碼來設定!

  (3)當改變發送方的郵件類型時(比如說一開始你用的XXX@qq.com,要換成XXX@163.com)一定要換mail.smtp.host

   smtp.host

    smtp.host .qq.com,163的是smtp.163.com

🎜  (4)下面是常見的錯誤類型:最常見的為 550 DT:SPM  和535(535為你的發送郵件方資訊填寫錯了,可能是授權碼過期,也可能是使用者名稱寫錯了)🎜

  •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 傳送的sm〔44777776667776 -Ftp> 指令有誤; :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 User in blacklist 此使用者不被允許給網易使用者發信;
  •550 User 此使用者不被允許給網易使用者發信;
  •550 User 此使用者不被允許給網易使用者發信;
  •550 User 此使用者不被允許給網易使用者發送訊號; ;
  •550 Requested mail action not taken: too much recipient  群發數量超過了限額;
  •552 Illegal Attachment 不允許發送該類型的附件,包括以.uu .pifif .scr .m .bat .com .vbe .vb .js .wsh等結尾的附件;
  •552 Requested mail action aborted: exceeded mailsize limit 發送的信件大小超過了網易郵箱允許接收的最大限制;
〳ed •5535action: 3535555353 月 not not fFalaction > NULL sender is not allowed 不允許發件人為空,請使用真實發件人發送;
  •553 Requested action not taken: Local user only  SMTP類型的機器只允許發信人是本站用戶;
 〟 53 Requested• 53' 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不在網易允許的發送位址清單裡。


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用