咨詢熱線

400-066-2020
常見問題
使用 SMTP 發(fā)送郵件
日期:2019年12月30日

阿里企業(yè)郵箱開啟 SMTP 發(fā)信功能

您需要先開啟 SMTP 發(fā)信功能才能通過 SMTP 接口發(fā)送郵件。

  1. 登錄 郵件推送控制臺
  2. 單擊左側(cè)導(dǎo)航欄中 發(fā)信地址,進(jìn)入發(fā)信地址頁面。
  3. 在發(fā)信地址列表中,找到您要開啟 SMTP 發(fā)信功能的發(fā)信地址,在對應(yīng)的操作欄中單擊 設(shè)置 SMTP 密碼。
  4. 在彈出對話框中填寫 SMTP 密碼,然后單擊 確定。

SMTP 發(fā)信方法

SMTP 協(xié)議是一個簡單的郵件傳輸協(xié)議,利用它您可以將郵件發(fā)送給別人。此協(xié)議使用命令和應(yīng)答在客戶端與服務(wù)器之間傳輸報(bào)文。即客戶端發(fā)出一個命令,服務(wù)器返回一個應(yīng)答。發(fā)送方與接收方進(jìn)行一問一答的交互,由發(fā)送方控制這個對話。

目前最新的 SMTP RFC 協(xié)議是 RFC5321 。

使用 SMTP 協(xié)議的郵件服務(wù)器分為兩種:

  • 一種為郵件發(fā)送服務(wù)器,通常叫做 smtpd,需要發(fā)件人進(jìn)行認(rèn)證。
  • 一種為郵件接收服務(wù)器,通常叫做 mx,接收外部運(yùn)營商用戶投遞給本地用戶的郵件。

阿里云郵件推送的郵件服務(wù)器為 smtpd,所以需要進(jìn)行用戶認(rèn)證(要求認(rèn)證用戶名和發(fā)件人必須一致),認(rèn)證用戶名(就是發(fā)件人)和密碼可以通過控制臺進(jìn)行設(shè)置。

程序中調(diào)用 SMTP 發(fā)送郵件可以使用各種語言的 SMTP Library。詳細(xì)參考,請見 SMTP 調(diào)用示例。

通過 SMTP 協(xié)議發(fā)送郵件的整體過程如下:

  1. 客戶端使用 telnet 命令連接到SMTP服務(wù)器,建立會話。
  2. 客戶端發(fā)送一個 HELO 或 EHLO 命令。
  3. 客戶端發(fā)送一個 AUTH 認(rèn)證命令進(jìn)行用戶登錄(使用 smtpd 方式)。
  4. 客戶端發(fā)送一個 MAIL 命令指定發(fā)件人。
  5. 客戶端發(fā)送一個 RCPT 命令指定收件人。
  6. 客戶端發(fā)送一個 DATA 命令準(zhǔn)備輸入郵件正文。
  7. 客戶端發(fā)送一個 . 命令(點(diǎn)命令)表示 DATA 命令結(jié)束。
  8. 客戶端發(fā)送一個 QUIT 命令結(jié)束會話。

示例

為幫助您熟悉使用 SMTP 協(xié)議發(fā)送郵件的流程,提供以下 telnet 命令會話過程示例,來描述 SMTP 命令會話過程。

備注:其中 S 代表服務(wù)器,C 代表客戶端??梢允褂?Linux 命令 echo -n Content|base64 進(jìn)行 base64 編碼。

								
  1. $telnet smtpdm.aliyun.com 25
  2. S:220 smtp.aliyun-inc.com MX AliMail Server(127.0.0.1)
  3. C:EHLO test.com
  4. S:250-smtp.aliyun-inc.com
  5. S:250-8BITMIME
  6. S:250-AUTH=PLAIN LOGIN XALIOAUTH
  7. S:250-AUTH PLAIN LOGIN XALIOAUTH
  8. S:250-PIPELINING
  9. S:250 DSN
  10. C:AUTH LOGIN
  11. S:334 dXNlcm5hbWU6
  12. C:dGVzdEB0ZXN0LmNvbQ== 備注:用戶名test@test.combase64編碼
  13. S:334 UGFzc3dvcmQ6
  14. C:dGVzdA== 備注:用戶密碼testbase64編碼
  15. S:235 Authentication successful
  16. C:MAIL FROM: <test@test.com> 備注:注意用 <> 將發(fā)件人擴(kuò)起來
  17. S:250 Mail Ok
  18. C:RCPT TO: <test@test.com>
  19. S:250 Rcpt Ok
  20. C:DATA
  21. S:354 End data with <CR><LF>.<CR><LF>
  22. C:subject: test
  23. C:from: <test@test.com>
  24. C:to: <test@test.com>
  25. C:
  26. C:test
  27. C:.
  28. S:Data Ok: queued as freedom ###envid=148316944
  29. C:QUIT
  30. S:221 Bye

其中,DATA 命令后輸入的郵件正文示例中,采用了最簡單的文本字符串?dāng)?shù)據(jù)。對于標(biāo)準(zhǔn)的富文本郵件,應(yīng)該進(jìn)行規(guī)范的 MIME 格式化,包括主題、正文的編碼等,這樣可以降低被接收方服務(wù)器判為垃圾郵件的風(fēng)險(xiǎn)。

MIME 協(xié)議可參考 RFC2045 。可以使用阿里云官網(wǎng)提供的 SMTP 發(fā)送示例中的各種語言 Library 進(jìn)行 MIME 郵件編碼。

如何構(gòu)建 MIME 郵件,請參見 如何通過 SMTP 方式發(fā)送帶附件的郵件?


如有疑問,可以撥打阿里云400華南066技術(shù)2020服務(wù)中心

?
聯(lián)系電話:020-38621006
客服電話:400-066-2020
產(chǎn)品咨詢:leads@aliyunsaas.com
渠道合作:agent@aliyunsaas.com

公眾賬號關(guān)注公眾賬號

手機(jī)網(wǎng)站瀏覽手機(jī)網(wǎng)站

關(guān)閉


溫馨提示:輸入正確驗(yàn)證碼才能提交信息