Python 通过 SMTP 直接投递邮件
邮件发送
发送邮件的Python代码示例
import smtplib
from email.header import Header
from email.mime.text import MIMEText
import dns.resolver
server_email = 'system@server.com'
user_email = 'user@demo.com'
message = MIMEText('服务器自动发出')
message['Subject'] = Header('通知邮件').encode()
message['From'] = f'System Notice<{server_email}>'
message['To'] = user_email
user_domain = user_email.split('@')[1]
user_mx = dns.resolver.query(user_domain, 'MX')
user_server = user_mx[0].exchange.to_text()
_server = smtplib.SMTPE(user_server)
res = _server.send_message(message, server_email, user_email)
print('发送失败' if res else '发送成功')
设置发送方策略框架
设置server.com
的MX记录和TXT记录
MX mail.server.com
TXT v=spf1 mx -all
设置mail.server.com
的A记录为服务器地址
A ***.***.***.***