使用添加了新内容的Python转发邮件
在替换了诸如from、to、sub之类的标题后,我可以将邮件转发到另一个电子邮件地址。 但是我如何通过添加更多附件和更多文本或html内容来转发邮件呢 正如我们在gmail中看到的,新内容应该显示在转发的消息内容之前。你知道我们怎样才能做到这一点吗 转发的邮件可以是多部分的,也可以不是 但由于我们添加了新内容,它将是多部分的 我试过下面的代码使用添加了新内容的Python转发邮件,python,email,smtplib,imaplib,Python,Email,Smtplib,Imaplib,在替换了诸如from、to、sub之类的标题后,我可以将邮件转发到另一个电子邮件地址。 但是我如何通过添加更多附件和更多文本或html内容来转发邮件呢 正如我们在gmail中看到的,新内容应该显示在转发的消息内容之前。你知道我们怎样才能做到这一点吗 转发的邮件可以是多部分的,也可以不是 但由于我们添加了新内容,它将是多部分的 我试过下面的代码 # open IMAP connection and fetch message with id msgid # store message data i
# open IMAP connection and fetch message with id msgid
# store message data in email_data
client = imaplib.IMAP4_SSL(imap_host,993)
client.login(user, passwd)
client.select('INBOX')
result, data = client.uid('fetch', msg_id, "(RFC822)")
client.close()
client.logout()
# create a Message instance from the email data
message = email.message_from_string(data[0][1])
# replace headers (could do other processing here)
message.replace_header("From", from_addr)
message.replace_header("To", to_addr)
message.replace_header("Subject", "Fwd:"+ message["Subject"].replace("FWD: ", "").replace("Fwd: ","" ))
# open authenticated SMTP connection and send message with
# specified envelope from and to addresses
smtp = smtplib.SMTP_SSL(smtp_host, smtp_port)
smtp.login(user, passwd)
smtp.sendmail(from_addr, to_addr, message.as_string())
smtp.quit()
我可以使用
电子邮件
软件包来实现这一点,并将原始电子邮件作为一部分附加:
从email.message导入消息
从email.mime.application导入MIMEApplication
从email.mime.multipart导入MIMEMultipart
从email.mime.text导入MIMEText
从email.mime.message导入MIMEMessage
从电子邮件导入消息从字节
原始电子邮件=获取原始电子邮件()#从任何地方获取原始电子邮件
原始电子邮件=来自字节的消息(原始电子邮件)
part1=MIMEText(“这是新内容”)
第2部分=mimessage(原始电子邮件)
新邮件=MIMEMultipart()
新电子邮件['Subject']=“我的主题”
新的电子邮件['From']='abc@xyz.com'
新电子邮件['To']='123@456.com'
新电子邮件。附件(第1部分)
新电子邮件。附件(第2部分)
嗨,你找到解决办法了吗?@Ankur Sharma,这不是什么好消息。我也在摆弄这件事。