【问题标题】:Python sendmail() delivering after 12 hour delayPython sendmail() 延迟 12 小时后发送
【发布时间】:2011-06-16 00:24:16
【问题描述】:

我试图避免一直检查我的电子邮件,所以我每 4 小时下载一次我的所有电子邮件。我有一个 cron 作业,它从 Gmail 帐户中获取未读邮件,然后将它们发送到我检查的帐户。

然而,最近消息的显示不一致,有时会延迟一天以上。所有消息都正确发送,但延迟很奇怪。

这是我的代码:

imap_domain = "imap.gmail.com"
imap_port = 993
imap_username =  'remotegmailaccount@gmail.com'
imap_password = 'mypassword'

#smtp settings
smtp_domain = "mail.kburke.org"
smtp_port = 2626
smtp_username = "emailaddress@kburke.org"
smtp_password = "mypassword"

recipient = ['emailaddressIcheck@gmail.com']

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 不允许您使用与帐户所有者不同的收件人发送电子邮件。您知道为什么电子邮件会延迟显示吗?我可以做些什么来解决这个问题?谢谢,凯文

【问题讨论】:

  • 您听说过邮件客户端吗? Thunderbird、Outlook、Evolution 等都允许您监控多个电子邮件帐户并接收通知到您的桌面。
  • 嗨 Rafe,我的想法是避免查看我的电子邮件,因为我目前查看它的频率太高了。如果下载过程是自动化的,那么我的意志力会比我在登录时随时都能收到电子邮件要强。

标签: python email sendmail delay


【解决方案1】:

查看您发送邮件的邮件标题。为每个邮件服务器添加一个,以及时间戳。然后你就可以看到罪魁祸首了。

【讨论】:

  • 一旦我找到了罪魁祸首,我该怎么做才能让它更快?
  • 通常只涉及两个邮件服务器。您用来中继邮件的那个,例如你有一个邮件帐户的那个,以及目标邮件服务器,但根据目标,理论上可能会有更多的跃点。如果您的邮件服务器是罪魁祸首,请使用其他提供商发送邮件。我有一些仅用于发送自动服务器邮件的 Google 帐户,但我还没有发现任何问题。
【解决方案2】:

查看您的邮件服务器日志。我敢打赌你有很多关于 GMail 不接受你的电子邮件的错误,因为(它看起来像垃圾邮件 | 该主机发送了太多电子邮件 | 其他原因)并且你的邮件服务器正在执行它通常的“稍候再试”例程.

这件事发生在我身上,突然有一天,与 GMail 进行了类似的使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-02
    • 1970-01-01
    • 2018-04-11
    • 1970-01-01
    • 1970-01-01
    • 2012-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多