smtp命令

以下过程均可在python的smtplib执行时通过设置日志级别显示出来,方便后续在shell中调试smtp情况
server=smtplib.SMTP()
server.set_debuglevel(1)

在命令行中连接smtp
telnet 127.0.0.1 25
必须先hello,名称可以先执行一次python查看,也可根据上一句的反馈信息确定
helo GJQ.gjq.root.ad
随便注册一个域名,ehlo声明需要身份认证
ehlo gj3.localdomain
认证身份,base64编码的用户名
AUTH LOGIN amp5diQ5hZA==
base64编码的密码
IUE36677YZg==
配置发件人
mail FROM:<[email protected]> size=757
配置收件人
rcpt TO:<[email protected]>
输入data命令后,balabala即为邮件本体,换行+'.'+换行表示邮件输入结束
data
balabala
.

退出
quit

邮件结构,即上文的balabala

Content-Type: multipart/mixed; boundary="===============9207671116673500=="
MIME-Version: 1.0
to: [email protected]
from: [email protected]
subject: =?gb2312?b?svMwLTA1LTAz?=

--===============9207647656673500==         #以下为附件部分
Content-Type: text/base64; charset="gb2312"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Type: application/octet-stream                 #注意有时候要删除这一行,之后邮件才能正常发出
Content-Disposition: attachmemt;filename="sit2ey"

MTIzCj765zMjEK

--===============9207641116673500==       #以下为正文部分
Content-Type: text/plain; charset="gb2312"
MIME-Version: 1.0
Content-Transfer-Encoding: base64

IDGhosO/yN87684fyv2+3Qo=

--===============920761116673500==--
.

你可能感兴趣的:(linux,linux)