【发布时间】: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