2017-08-07 4 views
0

MacOSXでは、すべてのPythonスクリプト(ここでは2)からメールを受信して​​いましたが、日付のないものもありました。米国の書式(月/日/年)はわかりませんが、日/月/年書式などを間違った時刻に使用したいと考えています。起こったときにほぼランダムに見えます。メールの日付形式と時刻が間違っていたり、ありません

メール1:私は、そのサーバにインストールされているウェブメール、例えば

https://image.prntscr.com/image/d_-qJ0bjQj_p1W-bJkMQ4g.png

メール2: https://image.prntscr.com/image/I14uoJBZT9aMjmDAr31zXA.png

メール3: https://image.prntscr.com/image/9JSlEuogSoWDCGEefT5K-w.png

その他の例はですサンダーバード

メール1: https://image.prntscr.com/image/2n-I8y1aRl2BJSig5-yTPg.png

メール2: https://image.prntscr.com/image/kjQRl0ooRfqNRr1hJ5YWSg.png

メール3: https://image.prntscr.com/image/0z_VhGgjRuSkcX_7kY6dbg.png

アンドロイドからGmailアプリでは、私はすべてこの問題を持っていけません。私が送信するためにこれを使用しています両方のスクリプトで

#server = smtplib.SMTP(mail_server,25) 
server = smtplib.SMTP(mail_server,587) 
server.starttls() 
server.login(smtp_auth_name,smtp_auth_pass) 
subject = '%s_BACKUP job success made on %s' %(backup_identifier,server_name) 
message = 'Current Config:\n%s\nStart time: %s\nFinish time: %s\nTarget path: %s\n\nStatus: \n\n%s\n\nBackup has been done.' %(current_config,inicial_date.strftime("%d/%m/%y %H:%M:%S"),datetime.datetime.now().strftime("%d/%m/%y %H:%M:%S"),backup_folder,checkpoint) 
message_structure = 'From: %s\nTo: %s\nSubject: %s\nDate: %s\n\n%s' 
%(sender,email_receivers,subject,datetime.datetime.now().strftime("%d/%m/%y %H:%M:%Ss"),message)    
server.sendmail(sender,email_receivers,message_structure) 
server.quit() 
logging.debug('Email notification as been send to: %s',email_receivers) 

だからメールクライアントでの日付と時刻の帰属理論に問題があるようだ、と私の質問はどのように私はちょうど日付を使用することができますです代わりに私のメールサーバーからの時間。

私はformatdate(localtime=True)があることを知っていますが、設定方法はわかりません。

答えて

0

だから私はから日付フィールドを削除することによってこの問題を回避することができたようだ:

message_structure = 'From: %s\nTo: %s\nSubject: %s\n\n%s' 
    %(sender,email_receivers,subject,message) 

今それが今、各電子メールクライアントで同じであるため、日付は、MTAによって追加されるようです。以前の日付形式がサーバーによって正しく処理されなかったと思うので、この問題が発生します。

私は、このDovecot(MDA)+ Postfix(MTA)サーバーでのみ、その日付形式を1つのExchangeサーバーで使用していましたが、問題はありませんでした。

関連する問題