Python sendmail()在延迟12小时后发送

时间:2011-01-26 17:27:13

标签: python email sendmail delay

我正在努力避免一直查看我的电子邮件,因此我每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不允许您使用与帐户所有者不同的收件人发送电子邮件。你知道为什么电子邮件出现延迟,我能做些什么来解决这个问题?谢谢,凯文

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

查看您的邮件服务器日志。我打赌你有很多错误,因为GMail不接受你的电子邮件,因为(它看起来像垃圾邮件|主机发送了太多电子邮件|其他原因)你的邮件服务器正常做“保持并稍后再试”例行程序

它发生在我身上,而不是突然有一天与GMail类似的使用。