smtplib,发送邮件时的bug
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了smtplib,发送邮件时的bug相关的知识,希望对你有一定的参考价值。
import os
import smtplibfrom email.mime.text import MIMEText
def send_mail(receiver):
mail_server = ‘smtp.163.com‘ sender_useranme = os.getenv(‘MAIL_USERNAME‘) sender_password = os.getenv(‘MAIL_PASSWORD‘) content = ‘<a href="www.baidu.com">点击完成验证</a>‘ message = MIMEText(content, ‘html‘) message[‘Subject‘] = ‘用户激活‘ message[‘From‘] = sender_useranme mail = smtplib.SMTP(mail_server) mail.login(sender_useranme, sender_password) mail.sendmail(sender_useranme, receiver, message) mail.quit()
bug : TypeError: expected string or bytes-like object
需要将message对象格式化字符串就OK了
mail.sendmail(sender_useranme, receiver, message.as_string())
有时候服务器会把你发送的邮件当成垃圾邮件处理,当检查完代码都对的时候改一下message[‘Subject‘] = ‘用户激活‘这个的内容试试。
以上是关于smtplib,发送邮件时的bug的主要内容,如果未能解决你的问题,请参考以下文章
编写python的smtplib库发送邮件代码(简洁-原创)