Python3实现SMTP发送邮件

本文介绍如何使用Python3使用SMTP通过QQ邮箱发送邮件。

 

一、开启SMTP

在QQ邮箱顶部找到设置,然后进入邮箱设置-账号项。

Python3实现SMTP发送邮件_第1张图片

在POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务中,需要开启SMTP服务。

Python3实现SMTP发送邮件_第2张图片

点击POP3/SMTP服务后的开启链接。会弹出验证密保的框。

Python3实现SMTP发送邮件_第3张图片

打开QQ安全中心,输入动态密码。会弹出一个授权码,这个授权码相当于密码。

授权码是QQ邮箱推出的,用于登录第三方客户端的专用密码。
适用于登录以下服务:POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务。

Python3实现SMTP发送邮件_第4张图片

至此,SMTP服务成功开通了。

 

二、代码实现

以下代码实现了使用Python发送SMTP邮件的功能。

源码下载方法:搜索关注公众号 比特量化,回复 1292

Python3实现SMTP发送邮件_第5张图片

运行上述代码时,命令行框架会打印出如下调试信息。

send: 'ehlo [192.168.3.61]\r\n'
reply: b'250-smtp.qq.com\r\n'
reply: b'250-PIPELINING\r\n'
reply: b'250-SIZE 73400320\r\n'
reply: b'250-AUTH LOGIN PLAIN\r\n'
reply: b'250-AUTH=LOGIN\r\n'
reply: b'250-MAILCOMPRESS\r\n'
reply: b'250 8BITMIME\r\n'
reply: retcode (250); Msg: b'smtp.qq.com\nPIPELINING\nSIZE 73400320\nAUTH LOGIN PLAIN\nAUTH=LOGIN\nMAILCOMPRESS\n8BITMIME'
send: 'AUTH PLAIN ADE2NTUwMTgwOUBxcS5jb20AZm1sYnhmYW14a3FxY2FhaA==\r\n'
reply: b'235 Authentication successful\r\n'
reply: retcode (235); Msg: b'Authentication successful'
send: 'mail FROM:<*******@qq.com> size=307\r\n'
reply: b'250 Ok\r\n'
reply: retcode (250); Msg: b'Ok'
send: 'rcpt TO:<*******@foxmail.com>\r\n'
reply: b'250 Ok\r\n'
reply: retcode (250); Msg: b'Ok'
send: 'data\r\n'
reply: b'354 End data with .\r\n'
reply: retcode (354); Msg: b'End data with .'
data: (354, b'End data with .')
send: b'Content-Type: text/plain; charset="utf-8"\r\nMIME-Version: 1.0\r\nContent-Transfer-Encoding: base64\r\nFrom: =?utf-8?b?5Y+R5Lu25Lq65pi156ew?= <*******@qq.com>\r\nTo: =?utf-8?b?5pS25Lu25Lq65pi156ew?= <*******@foxmail.com>\r\nSubject: =?utf-8?b?5p2l6IeqU01UUOeahOmXruWAmeKApuKApg==?=\r\n\r\n5L2g5aW977yM5oiR5pivUHl0aG9u\r\n.\r\n'
reply: b'250 Ok: queued as \r\n'
reply: retcode (250); Msg: b'Ok: queued as'
data: (250, b'Ok: queued as')
send: 'quit\r\n'
reply: b'221 Bye\r\n'
reply: retcode (221); Msg: b'Bye'

 

三、效果图

Python3实现SMTP发送邮件_第6张图片

 

 

你可能感兴趣的:(Python3)