簡體   English   中英

使用 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM