我正在尝试使用smtp google和smtplib从python发送成功的电子邮件。电子邮件已正确发送,但收件人将其作为垃圾邮件接收。
标头是否存在某些内容,或者如何避免被识别为垃圾邮件?
from flask import render_template, current_app
from flask_babel import _
import smtplib
from email.message import EmailMessage
from email.headerregistry import Address
from email.utils import make_msgid
def send_email(subject, receiver, plain_text, html_text):
msg = EmailMessage()
msg['Message-ID'] = make_msgid()
msg['Subject'] = subject
msg['From'] = Address(name, username, 'gmail.com')
msg['To'] = Address(receiver.fullname(), receiver.email.split('@')[0], receiver.email.split('@')[1])
msg.set_content(plain_text)
msg.add_alternative(html_text, subtype='html')
server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
server.ehlo()
server.login(email, password)
server.send_message(msg)
server.quit()
答案 0 :(得分:0)
我建议您在域上设置 SPF 和 DKIM ,以增加外发电子邮件的重量。阅读有关设置SPF和DKIM here的更多信息。它将需要一些简单易行的DNS更改。
此外,少量HTML中的一条小消息也可以解释为许多垃圾邮件过滤器的垃圾邮件。考虑发送计划文本电子邮件或带有纯文本变体的HTML电子邮件。