Note that there are some explanatory texts on larger screens.

plurals
  1. POForwarding an email with python smtplib
    primarykey
    data
    text
    <p>I'm trying to put together a script that automatically forwards certain emails that match a specific criteria to another email.</p> <p>I've got the downloading and parsing of messages using imaplib and email working, but I can't figure out how to forward an entire email to another address. Do I need to build a new message from scratch, or can I somehow modify the old one and re-send it?</p> <p>Here's what I have so far (client is an imaplib.IMAP4 connection, and id is a message ID):</p> <pre><code>import smtplib, imaplib smtp = smtplib.SMTP(host, smtp_port) smtp.login(user, passw) client = imaplib.IMAP4(host) client.login(user, passw) client.select('INBOX') status, data = client.fetch(id, '(RFC822)') email_body = data[0][1] mail = email.message_from_string(email_body) # ...Process message... # This doesn't work forward = email.message.Message() forward.set_payload(mail.get_payload()) forward['From'] = 'source.email.address@domain.com' forward['To'] = 'my.email.address@gmail.com' smtp.sendmail(user, ['my.email.address@gmail.com'], forward.as_string()) </code></pre> <p>I'm sure there's something slightly more complicated I need to be doing with regard to the MIME content of the message. Surely there's some simple way of just forwarding the entire message though?</p> <pre><code># This doesn't work either, it just freezes...? mail['From'] = 'source.email.address@domain.com' mail['To'] = 'my.email.address@gmail.com' smtp.sendmail(user, ['my.email.address@gmail.com'], mail.as_string()) </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload