メール アカウントにログインし、各メールを確認し、特定の件名のメールのみを処理し、残りを別のメール アドレスに転送する、かなり単純なスクリプトを作成しようとしています。その際、送信元のアカウントではなく元の送信者のままにしてほしいです。問題は、ターゲットのメール アドレス (Google ドメイン) が、DMARC ポリシーに違反していると言ってスパムに送信することです。これが私のコードです。それを機能させるために変更できることはありますか?
pop_conn = poplib.POP3_SSL(POP_URI)
pop_conn.user(USERNAME)
pop_conn.pass_(PASSWORD)
messages = [pop_conn.retr(i) for i in range(1, len(pop_conn.list()[1]) + 1)]
messages = [parser.Parser().parsestr("\n".join(msg[1])) for msg in messages]
pop_conn.quit()
for email in messages:
subject = email['subject']
#if subject is some str, do stuff and continue else fwd mail below
try:
server = smtplib.SMTP(SERVER,587)
server.set_debuglevel(1)
server.starttls()
server.ehlo()
server.login(USERNAME, PASSWORD)
server.sendmail(email['from'], [TARGET_EMAIL], email.as_string())
server.quit()
except Exception as e:
print "failed to fwd\n"
print e
また、追加の質問: メールを取得した後、受信トレイからコピーを削除するにはどうすればよいですか?