使用smtp协议发送邮件

1 打开权限

打开邮箱的POP3/SMTP权限,发送和接收的邮箱都要打开,否则邮件无法发送成功。
注意!打开权限时,邮箱会提供/要求你设置权限码,此权限码即是下面通信时需要用到的密码,而非登录邮箱的密码。


我使用qq邮箱给126邮箱发邮件,所以将两个邮箱的权限都打开了:
QQ邮箱设置

126邮箱设置


2 登录邮箱

打开终端,输入:

telnet smtp.qq.com 25

其中smtp.qq.com为服务器,25为端口。
回车后,如果连接成功,会显示220 smtp.qq.com Esmtp QQ Mail Server

输入ehlo 5 (ehlo后加任意值都可以,只是为了打招呼)
成功后会出现一长串250

之后输入:

auth login

进行登录
成功会显示334 VXNlcm5hbWU6

然后,输入邮箱的base64编码,点这里可以在线编码
比如,你的邮箱是[email protected],那么就将12345678进行base64编码并输入,编码结果为:MTIzNDU2Nzg=。
MTIzNDU2Nzg=

输入之后,会显示:334 UGFzc3dvcmQ6
接着输入密码,即授权码的base64编码,输入成功后,会显示235 Authetication successful


3 发送邮件

输入发送者邮箱:mail from:<[email protected]>
回车后显示:250 Ok
输入接收者邮箱:rcpt to:<[email protected]>
回车后显示:250 Ok

然后输入:data 回车后显示:354 End data with <CR><LF>.<CR>LF>
这时就可以编写邮件了:

From:[email protected]
To:[email protected]
Subject:smtpTest

Hello!!
.

格式为:

From:发送者邮箱地址
To:接收者邮箱地址
Subject:主题
           #空一行
内容
.          #作为结束标志

按下回车,显示:250 Ok: queued as 表示邮件已经发送成功

发送过程

发送成功