本文主要介紹Alibaba Mail帳號通過SMTP程式進行發信的問題。
SMTP 簡介
SMTP(Simple Mail Transfer Protocol,簡易郵件傳輸通訊協定)是用於寄送電子郵件的標準協議。通過 SMTP 程式,開發人員可以自動化發送郵件,例如驗證碼、通知或營銷資訊。本文將介紹如何通過代碼實現 SMTP 郵件發送。
準備工作
SMTP 伺服器和連接埠資訊
參考文檔:Alibaba MailIMAP、POP、SMTP地址和連接埠資訊
SMTP伺服器位址:smtp.sg.aliyun.com或者smtp.[$Domain]。
SMTP伺服器連接埠:25、80和465(SSL加密),ECS預設封鎖25連接埠,建議使用80或465代替。
如果您需要使用自己郵箱的網域名稱,請添加一條smtp的CNAME解析記錄,如何配置DNS解析請參見Alibaba Mail網域名稱解析。[$Domain]為您的郵箱網域名稱。
您也可以使用Alibaba Mail官方服務地址smtp.sg.aliyun.com。
開啟Alibaba Mail的SMTP發信功能
開啟 SMTP 許可權並擷取授權碼(預設為登入密碼,若開啟了三方用戶端安全密碼功能,則使用產生的安全密碼)。
目前對新購使用者預設禁止使用三方用戶端。如果您需要使用三方用戶端,我們也為您提供了開啟或關閉禁止使用三方用戶端的功能。
為了更好地保護您的帳號安全,我們建議開啟三方用戶端的安全密碼功能:
管理員側強制啟用:域管如何開啟三方用戶端安全密碼?。
員工側也可以自行開啟:員工如何開啟和使用三方用戶端安全密碼?

同時要使用POP/IMAP/SMTP協議,需要保持帳號維度開啟。

範例程式碼
SMTP發信程式碼範例:
對於批量類或系統觸發類郵件,建議使用Direct Mail產品(什麼是Direct Mail),以免影響Alibaba Mail信譽,進而影響正常郵件的投遞。
問題排查
1、配置後仍不能發信,請按下面建議排查:
檢查帳號密碼是否拼字正確,不要有多餘字元。
若使用465連接埠,開啟SSL。
檢查郵箱伺服器位址是否正確。
預設SMTP發信功能已經開啟,如果沒有開啟,請參見上述截圖。
檢查發信代碼邏輯是否正確,建議寫死參數,使用範例程式碼先做發信測試。
如果需要驗證伺服器位址、連接埠、帳號、密碼等配置資訊是否正確,可使用該參數在其他三方郵件用戶端中嘗試配置。
若使用用戶端可成功進行SMTP發信,但是所用程式發信無法成功投遞,需從所用程式自身核查是否有其他邏輯導致發信不成功。