使用 SMTP 發送郵件_使用 SMTP 發送郵件_發送郵件_用戶指南_郵件推送-阿里雲 https://help.aliyun.com/knowledge_detail/51622.html
通過 SMTP 協議發送郵件的整體過程如下:
- 客戶端使用 telnet 命令連接到SMTP服務器,建立會話。
- 客戶端發送一個 HELO 或 EHLO 命令。
- 客戶端發送一個 AUTH 認證命令進行用戶登錄(使用 smtpd 方式)。
- 客戶端發送一個 MAIL 命令指定發件人。
- 客戶端發送一個 RCPT 命令指定收件人。
- 客戶端發送一個 DATA 命令准備輸入郵件正文。
- 客戶端發送一個 . 命令(點命令)表示 DATA 命令結束。
- 客戶端發送一個 QUIT 命令結束會話。
示例
為幫助您熟悉使用 SMTP 協議發送郵件的流程,提供以下 telnet 命令會話過程示例,來描述 SMTP 命令會話過程。
備注:其中 S 代表服務器,C 代表客戶端。可以使用 Linux 命令 echo -n Content|base64 進行 base64 編碼。
$telnet smtpdm.aliyun.com 25
S:220 smtp.aliyun-inc.com MX AliMailServer(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:dGVzdEB0ZXN0LmNvbQ==備注:用戶名test@test.com的base64編碼
S:334UGFzc3dvcmQ6
C:dGVzdA==備注:用戶密碼test的base64編碼
S:235Authentication successful
C:MAIL FROM:<test@test.com>備注:注意用<>將發件人擴起來
S:250MailOk
C:RCPT TO:<test@test.com>
S:250RcptOk
C:
S:354End data with<CR><LF>.<CR><LF>
C:subject: test
C:from:<test@test.com>
C:to:<test@test.com>
C:
C:test
C:.
S:DataOk: queued as freedom ###envid=148316944
C:QUIT
S:221Bye