问题描述
我正在使用python mailer软件包从本地系统发送自动消息。该邮件会自动将接收时间显示为UTC而不是EST。如何使用邮件发送器以本地时间作为接收时间发送电子邮件。
import mailer
message = mailer.Message()
message.From = "from@mail.com"
message.To = "To@mail.com
message.CC = MsgCC
message.Subject = "Subject"
message.Body = "Message to send"
try:
sender = mailer.Mailer('smtp.com')
sender.send(message)
except:
print ('Error in sending email.')
注意:该程序在Windows Server 2008(Python版本3.6.3)中运行
解决方法
如果您未提供时间戳记,mailer使用time.gmtime()
将当前时间戳记转换为UTC。
您可以尝试按以下方式移交当前的本地时间:
import time
import mailer
message = mailer.Message()
# Get current time and parse in your local time zone.
message.Date = time.strftime("%a,%d %b %Y %H:%M:%S %z",time.localtime())
message.From = "from@example.com"
message.To = "to@example.com"
message.Subject = "Subject"
message.Body = "Message to send"
try:
sender = mailer.Mailer('smtp.example.com')
sender.send(message)
except:
print ('Error in sending email.')