Я стараюсь не проверять почту постоянно, поэтому я загружаю всю электронную почту один раз каждые 4 часа. У меня есть задание cron, которое извлекает непрочитанные сообщения из учетной записи Gmail, а затем отправляет их в учетную запись, которую я проверяю.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 не позволяет отправлять электронную почту с другим получателем, чем владелец счетов. Вы знаете, почему сообщения электронной почты появляются с задержкой, и что я могу сделать, чтобы исправить эту проблему? Спасибо, Kevin
Вы когда-нибудь слышали о почтовом клиенте? Thunderbird, Outlook, Evolution и т. Д. Позволяют контролировать несколько учетных записей электронной почты и получать уведомления на вашем рабочем столе. –
Привет, Рей, моя идея состояла в том, чтобы * избежать * проверки моей электронной почты, поскольку я в настоящее время проверяю ее слишком часто. У меня есть лучшая сила воли, если процесс загрузки будет автоматизирован, чем если бы я мог получить свою электронную почту в любое время, когда я вхожу в систему. –