smtplib,傳送郵件時的bug
阿新 • • 發佈:2018-12-07
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'] = '使用者啟用'這個的內容試試。