如何像转发电子邮件一样gmail?

时间:2017-05-24 10:59:25

标签: python email smtp gmail imaplib

有没有办法使用smtp转发电子邮件(gmail喜欢 - 你知道......还有其他文字)? 这是我的一段代码:

def forward_email(email_id, email_to):
    client, messages = get_original_email(email_id)
    typ, data = client.fetch(messages[0].split(' ')[-1], '(RFC822)')
    email_data = data[0][1]
    message = email.message_from_string(email_data)

    smtp = smtplib.SMTP(EMAIL_HOST, EMAIL_PORT)
    smtp.ehlo()
    smtp.starttls()
    smtp.login(IMAP_LOGIN, IMAP_PASSWORD)
    result = smtp.sendmail(email.utils.parseaddr(message['From']), 
        email_to, message.as_string())
    smtp.quit()
    return result

现在它无法正常工作,因为message.as_string()具有特殊标头和其他未使用的信息。 我猜gmail阻止它因为这个。

1 个答案:

答案 0 :(得分:0)

下面的代码正确地为我工作,甚至在函数调用上连续发送邮件

execel_file = StringIO.StringIO()
filename = "%s.csv" % ('output file')
df.to_csv(execel_file, encoding='utf-8')
csv_output = execel_file.getvalue()
execel_file.close()

resp = make_response(csv_output)
resp.headers["Content-Disposition"] = ("attachment; filename=%s" % filename)
resp.headers["Content-Type"] = "text/csv"
return resp