我想通过python向我的客户发送邮件通知。问题是发件人邮件帐户需要隐藏。请注意-这不是用于网络钓鱼或垃圾邮件的内容,仅供个人使用!
我使用smtplib并在gmail中设置了一个新的“ noreply”帐户,但是即使在为邮件提供别名时,“ mail from:”标头也会包含我的实际邮件。
import smtplib
from email.mime.text import MIMEText
from email.utils import *
email_sender = 'noreply%%@gmail.com'
email_receiver = 'example%%%@gmail.com'
subject = 'Python!'
msg = MIMEText('This is the body of the message.')
msg['To'] = formataddr(('Recipient', 'example%%%@gmail.com'))
msg['From'] = formataddr(('Author', 'author@example.com'))
msg['Subject'] = 'Simple test message'
connection = smtplib.SMTP('smtp.gmail.com', 587)
connection.starttls()
connection.login(email_sender, 'password')
connection.sendmail(msg['From'], email_receiver, msg.as_string())
connection.quit()
我按预期将邮件发送到收件箱,但是单击“更多详细信息”时,将显示原始发件人地址。
答案 0 :(得分:0)
sendmail
的第一个参数是信封发件人,应该只是电子邮件的终点,而不是格式化的地址;因此传入msg['From']
有双重错误(一个是因为您不想显示它;另一个是因为您正在传入整个From:
标头中的显示名称和全部名称)。>