![](/img/trans.png)
[英]How to get line breaks in e-mail sent using Python's smtplib?
[英]E-mail sent with smtplib ends as spam
我有以下代碼:
import smtplib, ssl
def send_email(temperature):
port = 465 # For SSL
password = "my_password"
sender_email = "my_sender@gmail.com"
receiver_email = "my_receiver@x.y"
message = """\
Subject: Temperature is %0.2f degrees C
""" % temperature
server = smtplib.SMTP_SSL("smtp.gmail.com", port)
server.login(sender_email, password)
server.sendmail(sender_email, receiver_email, message)
if __name__ == "__main__":
send_email(7.7)
第一次運行后,收到第一條消息就OK了。 下一封郵件位於垃圾郵件文件夾中,沒有發件人地址、主題和正文。 我試圖將其標記為非垃圾郵件,但沒有幫助。 郵件標題具有正確的發件人地址、主題和正文。
我可以以某種方式糾正它嗎?
我是這樣解決的:
import smtplib, ssl
from email.mime.text import MIMEText
def send_email(temperature):
port = 465 # For SSL
password = "my_password"
sender_email = "my_sender_address@gmail.com"
receiver_email = "my_receiver_address.x.y"
message = MIMEText("Temperature is %0.2f degrees" % temperature)
message['Subject'] = "%0.2f degrees" % temperature
message['From'] = sender_email
message['To'] = receiver_email
server = smtplib.SMTP_SSL("smtp.gmail.com", port)
server.login(sender_email, password)
server.sendmail(sender_email, [receiver_email], message.as_string())
server.quit()
if __name__ == "__main__":
send_email(7.7)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.