咨詢(xún)熱線(xiàn)

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

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

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

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

SMTP 發(fā)信方法

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

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

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

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

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

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

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

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

示例

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

備注:其中 S 代表服務(wù)器,C 代表客戶(hù)端??梢允褂?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== 備注:用戶(hù)名test@test.combase64編碼
  13. S:334 UGFzc3dvcmQ6
  14. C:dGVzdA== 備注:用戶(hù)密碼testbase64編碼
  15. S:235 Authentication successful
  16. C:MAIL FROM: <test@test.com> 備注:注意用 <> 將發(fā)件人擴(kuò)起來(lái)
  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 命令后輸入的郵件正文示例中,采用了最簡(jiǎn)單的文本字符串?dāng)?shù)據(jù)。對(duì)于標(biāo)準(zhǔn)的富文本郵件,應(yīng)該進(jìn)行規(guī)范的 MIME 格式化,包括主題、正文的編碼等,這樣可以降低被接收方服務(wù)器判為垃圾郵件的風(fēng)險(xiǎn)。

MIME 協(xié)議可參考 RFC2045 ??梢允褂冒⒗镌乒倬W(wǎng)提供的 SMTP 發(fā)送示例中的各種語(yǔ)言 Library 進(jìn)行 MIME 郵件編碼。

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


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

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

公眾賬號(hào)關(guān)注公眾賬號(hào)

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

關(guān)閉


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