我正在尝试使用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() 发布于 2018-08-31 03:42:05
我建议你在你的域名上同时设置SPF和DKIM,以增加你发送的电子邮件的权重。阅读更多关于设置SPF和DKIM here的信息。这将需要一些DNS更改,这是足够简单的。
此外,对于许多垃圾邮件过滤器来说,HTML中的一小段消息可能会被视为垃圾邮件。考虑发送计划文本电子邮件或包含纯文本变体的HTML电子邮件。
https://stackoverflow.com/questions/52088057
复制相似问题