2011-01-26 8 views
0

私はいつも自分のメールをチェックしないようにしていますので、私は4時間ごとにメールをすべてダウンロードします。私は、Gmailアカウントから未読のメッセージを取り出し、チェックしたアカウントにそれらを送信するcronジョブを持っています。Python sendmail()は12時間後に配信します

最近、メッセージが一貫して表示されていない場合があります。すべてのメッセージは正しく送信されますが、遅延は奇妙です。

は、ここに私のコードです:

imap_domain = "imap.gmail.com" 
imap_port = 993 
imap_username = '[email protected]' 
imap_password = 'mypassword' 

#smtp settings 
smtp_domain = "mail.kburke.org" 
smtp_port = 2626 
smtp_username = "[email protected]" 
smtp_password = "mypassword" 

recipient = ['[email protected]'] 

imap_server = imaplib.IMAP4_SSL(imap_domain, imap_port) 
imap_server.login(imap_username, imap_password) 
imap_server.select('INBOX') 
status, email_ids = imap_server.search(None, '(UNSEEN)') 

server = smtplib.SMTP(smtp_domain, smtp_port) 
server.ehlo() 
server.starttls() 
server.ehlo() 
server.login(smtp_username, smtp_password) 

for e in email_ids[0].split(' '): 
    if e is not '': 
     try: 
      raw_msg = imap_server.fetch(e, '(RFC822)') 
      msg = email.message_from_string(raw_msg[1][0][1]) 

      #modify reply-to so we preserve email address 
      if not msg['Reply-To']: 
       msg['Reply-To'] = msg['From'] 

      result = server.sendmail(msg['From'], recipient, msg.as_string()) 

私はGmailアカウントから送信する方が良いだろうと思いますが、Gmailは、アカウントの所有者とは別の受信者に電子メールを送信させません。メールが遅れて表示される理由と、問題を解決するために私ができることは分かりますか?ありがとう、ケビン

+0

あなたはメールクライアントについて聞いたことがありますか? Thunderbird、Outlook、Evolutionなどを利用すると、複数の電子メールアカウントを監視したり、デスクトップに通知を受け取ることができます。 –

+0

こんにちはRafe、私の考えは、私が現在頻繁にチェックするので、私の電子メールをチェックすることを避けることでした。私がログインするたびに私の電子メールを受け取ることができるよりもダウンロードプロセスが自動化されていると私はより良い意志を持っています。 –

答えて

0

メールサーバーのログを確認してください。私はGmailのあなたの電子メールを受け入れていないことについて多くのエラーがあると思う(それはスパムのように見える|そのホストはあまりにも多くの電子メールを送信した|他の理由)あなたのメールサーバーは通常、 。

GMailと同様のタイプの使用のために、それはある日突然、私に起こった。

1

送信メールのメールヘッダーを見てください。タイムスタンプと共に、各メールサーバーごとに1つが追加されます。そして、あなたは犯人を見ることができます。

+0

犯人を見つけたら、もっと速くするために何ができますか? –

+0

通常、メールサーバーは2つしかありません。メールを中継するために使用するもの。メールアカウントを持っているメールサーバーと宛先メールサーバーがありますが、宛先によっては理論的にホップ数が増えることがあります。メールサーバーが原因の場合は、別のプロバイダを使用してメールを送信します。私は、自動化されたサーバーメールを送るためにのみ使用するいくつかのGoogleアカウントを持っていますが、私はまだ問題を見ませんでした。 – Daniel

関連する問題