最新系列Python学习基础入门教程。今天学习了使用python自带的库smtplib来发送邮件内容。使用Python发送邮件的步骤很简单:创建一个SMTP连接,用你的邮箱地址和密码登录SMTP服务器,创建一个邮件内容对象EmailMessage,使用set_content方法设置邮件内容。调用sendmail方法发送邮件。具体代码如下:importsmtplibfromemail.messageimportEmailMessage#定义SMTP邮件服务器地址smtp_server='smtp.qq.com'#发件人邮箱from_addr='******@qq.com'#我的自己的邮箱#发件人邮箱密码password='******'#邮箱密码#邮件收件人to_addr='******@163.com'#测试接收邮箱地址mailbox#创建SMTP连接conn=smtplib.SMTP_SSL(smtp_server,465)#设计调试级别conn.set_debuglevel(1)#登录邮箱conn.login(from_addr,password)#创建邮件内容对象msg=EmailMessage()#设置邮件内容msg.set_content('Hi,thisisatestemailfromPython','plain','utf-8')#发送邮件conn.sendmail(from_addr,[to_addr],msg.as_string())#退出连接conn.quit()运行以上代码后,会报如下错误:smtplib.SMTPAuthenticationError:(535,b'Error:\xc7\xeb\xca\xb9\xd3\xc3\xca\xda\xc8\xa8\xc2\xeb\xb5\xc7\xc2\xbc\xa1\xa3\xcf\xea\xc7\xe9\xc7\xeb\xbf\xb4:http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256')点击URL部分:http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256,会跳转到腾讯邮箱的以下页面。我们在使用第三方客户端登录QQ邮箱时,为了保证账号安全,需要使用上述授权码。在帮助中心,点击生成授权码获取腾讯邮箱获取到授权码后,使用获取到的授权码替换下方登录方式中的密码,即使用用户邮箱和授权码登录conn.login(from_addr,"authorizationcode")修改完成后,不会再出现上面的错误,邮件成功发送到指定邮箱。您可以登录收件箱查看是否收到,也可能在垃圾箱中。至此,Python已经使用smtplib成功发送了邮件。欢迎大家关注我的公众号:君薇说。
