0

我有一个运行 python 脚本的 cronjob,它会定期向我发送一封包含状态更新的电子邮件。在周末,我更喜欢通过文本工作,所以我将其发送到 myphonenumber@vtext.com。这工作正常,除了“发件人”地址在转到电话时不正确。当它被发送到一个普通的电子邮件地址时,它会正确显示。由于某种原因,当它通过文本时,它会将“发件人”地址显示为“myusername@servername.wndowsdomain.local”。这可能只是一个verizon短信的事情,但如果可能的话,我想弄清楚如何修复它,因为我希望为这个工具添加一些回复功能。

脚本所在的机器正在运行 Ubuntu 12.04。

这是我发送电子邮件的简单 python 函数:

def sendMail(to,text):
    msg = MIMEMultipart('alternative')
    msg['Subject'] = "Weekend Report"
    msg['From'] = 'servername@mydomain.com'
    msg['To'] = to
    msg.attach(MIMEText(text,'plain'))
    p = Popen(["/usr/sbin/sendmail", "-t"], stdin=PIPE)
    p.communicate(msg.as_string())

使用 smtplib 和 gmail 帐户之类的东西会更好吗?

4

1 回答 1

1

Sendmail:设置信封发件人

您也可以尝试设置“信封发件人”地址(SMTP 会话中使用的发件人地址)。

p=Popen(["/usr/sbin/sendmail","-t","-i","-fservername@mydomain.com"],stdin=PIPE)

评论:我添加了-i与设置信封发件人无关的命令行选项。

于 2013-10-22T18:48:06.030 回答