日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用 SMTP 發送郵件

開啟 SMTP 發信功能

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

  1. 登錄 郵件推送控制臺

  2. 單擊左側導航欄中 發信地址,進入發信地址頁面。

  3. 在發信地址列表中,找到您要開啟 SMTP 發信功能的發信地址,在對應的操作欄中單擊 設置 SMTP 密碼

  4. 在彈出對話框中填寫 SMTP 密碼,然后單擊 確定

SMTP 發信方法

SMTP 協議是一個簡單的郵件傳輸協議,利用它您可以將郵件發送給別人。此協議使用命令和應答在客戶端與服務器之間傳輸報文。即客戶端發出一個命令,服務器返回一個應答。發送方與接收方進行一問一答的交互,由發送方控制這個對話。

SMTP RFC 協議參考 RFC5321

使用 SMTP 協議的郵件服務器分為兩種:

  • 一種為郵件發送服務器,通常叫做 smtpd,需要發件人進行認證。

  • 一種為郵件接收服務器,通常叫做 mx,接收外部運營商用戶投遞給本地用戶的郵件。

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

程序中調用 SMTP 發送郵件可以使用各種語言的 SMTP Library。詳細參考,請見 SMTP 調用示例

通過 SMTP 協議發送郵件的整體過程如下:

  1. 客戶端使用 telnet 命令連接到SMTP服務器,建立會話。

  2. 客戶端發送一個 HELO 或 EHLO 命令。

  3. 客戶端發送一個 AUTH 認證命令進行用戶登錄(使用 smtpd 方式)。

  4. 客戶端發送一個 MAIL 命令指定發件人。

  5. 客戶端發送一個 RCPT 命令指定收件人。

  6. 客戶端發送一個 DATA 命令準備輸入郵件正文。

  7. 客戶端發送一個 . 命令(點命令)表示 DATA 命令結束。

  8. 客戶端發送一個 QUIT 命令結束會話。

示例

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

備注:其中 S 代表服務器,C 代表客戶端。可以使用 Linux 命令 echo -n Content|base64 進行 base64 編碼。

非加密方式:

$telnet smtpdm.aliyun.com 80
S:220 smtp.aliyun-inc.com MX AliMail Server(127.0.0.1)
C:EHLO test.com
S:250-smtp.aliyun-inc.com
S:250-8BITMIME
S:250-AUTH=PLAIN LOGIN XALIOAUTH
S:250-AUTH PLAIN LOGIN XALIOAUTH
S:250-PIPELINING
S:250 DSN
C:AUTH LOGIN
S:334 dXNlcm5hbWU6
C:YSoqKkBleGFtcGxlLm5ldA==         備注:用戶名a***@example.net的base64編碼
S:334 UGFzc3dvcmQ6
C:dGVzdA==                     備注:用戶密碼test的base64編碼
S:235 Authentication successful
C:MAIL FROM: <a***@example.net>   備注:注意用 <> 將發件人擴起來
S:250 Mail Ok
C:RCPT TO: <a***@example.net>
S:250 Rcpt Ok
C:DATA
S:354 End data with <CR><LF>.<CR><LF>
C:subject: test
C:from: <a***@example.net>
C:to: <a***@example.net>
C:
C:test
C:.
S:Data Ok: queued as freedom ###envid=148316944
C:QUIT
S:221 Bye

加密方式(需要openssl工具配合):

openssl s_client -connect smtpdm.aliyun.com:465 -crlf
或
openssl s_client -cipher AES128-GCM-SHA256 -connect  smtpdm.aliyun.com:465 -tls1_3 -crlf

openssl連接成功后直接在同一窗口繼續逐行輸入下面客戶端命令:

$openssl s_client -connect smtpdm.aliyun.com:465 -crlf
***
***
***
S:220 DirectMail Smtpd Server(127.0.0.1)
C:EHLO test.com
S:250-smtp.aliyun-inc.com
S:250-8BITMIME
S:250-AUTH=PLAIN LOGIN XALIOAUTH
S:250-AUTH PLAIN LOGIN XALIOAUTH
S:250-PIPELINING
S:250 DSN
C:AUTH LOGIN
S:334 dXNlcm5hbWU6
C:YSoqKkBleGFtcGxlLm5ldA==          備注:用戶名a***@example.net的base64編碼
S:334 UGFzc3dvcmQ6
C:dGVzdA==                        備注:用戶密碼test的base64編碼
S:235 Authentication successful
C:MAIL FROM: <a***@example.net>  備注:注意用 <> 將發件人擴起來
S:250 Mail Ok
C:rcpt to: <a***1@example.net>  備注:rcpt to使用小寫,大寫可能識別錯誤
S:250 Rcpt Ok
C:DATA
S:354 End data with <CR><LF>.<CR><LF>
C:subject: test
C:from: <a***@example.net>
C:to: <a***1@example.net>
C:
C:test
C:.
S:250 Data Ok: queued as freedom ###envid=600000105713504612
C:QUIT
S:DONE

其中,DATA 命令后輸入的郵件正文示例中,采用了最簡單的文本字符串數據。對于標準的富文本郵件,應該進行規范的 MIME 格式化,包括主題、正文的編碼等,這樣可以降低被接收方服務器判為垃圾郵件的風險。

MIME 協議可參考 RFC2045。可以使用阿里云官網提供的 SMTP 發送示例中的各種語言 Library 進行 MIME 郵件編碼。

如何構建 MIME 郵件,請參見 如何通過 SMTP 方式發送帶附件的郵件?