smtplibを使用してcronジョブを使用して1日に1回ステータスメールを送信したいとします。smtplib経由でメールを送信すると時間が失われる
メールの送信はうまくいきますが、メールを送信すると送信日時が常に日時のように見えますが、メールが送信されるときは表示されません。これは6時間後になる可能性があります。
メッセージデータと共にsmtplibへの送信時間に関するヒントが見つかりませんでした。何か不足しているのですか、これはメールサーバーの設定に問題がありますか?しかし、Thunderbird経由で手渡された他のメールは、このアカウントでこの効果を表示しません。 (ログインデータを削除して)
私のPythonプログラム下にリストされている:
import smtplib
sender = '[email protected]'
receivers = ['[email protected]']
message = """From: Sender <[email protected]>
To: Receiver<[email protected]>
Subject: Testmail
Hello World.
"""
try:
smtpObj = smtplib.SMTP('mailprovider.mailprovider.com')
smtpObj.sendmail(sender, receivers, message)
print "Successfully sent email"
except SMTPException:
print "Error: unable to send email"
[EDIT]
示唆したが、それでも私の受信トレイに示す時が読んでいるとして電子メールパッケージを使用してコード時間は送信しません。
import smtplib
from email.mime.text import MIMEText
sender = ..
receiver = ..
message = "Hello World"
msg = MIMEText(message)
msg['Subject'] = 'Testmessage'
msg['From'] = sender
msg['To'] = receiver
try:
s = smtplib.SMTP(..)
s.sendmail(sender, receiver, msg.as_string())
s.quit()
print "Successfully sent email"
except SMTPException:
print "Error: unable to send email"
を確かに奇妙な... 'Date'フィールドは通常、'(SMTPサーバーによって追加されますmailprovider.mailprovider.com')が含まれていないメッセージを受信したときに発生します。受信したメッセージの完全なヘッダーを表示して、SMTPプロトコルレベルで何が起こるかを理解してください。 –
@ Serge Ballesta:そのヒント、そのサーバーから受信した他のメッセージとは異なり、ありがとうございます。受信したメッセージに日付フィールドは添付されていません。 – tfv