Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用添加了新内容的Python转发邮件_Python_Email_Smtplib_Imaplib - Fatal编程技术网

使用添加了新内容的Python转发邮件

使用添加了新内容的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

在替换了诸如from、to、sub之类的标题后,我可以将邮件转发到另一个电子邮件地址。 但是我如何通过添加更多附件和更多文本或html内容来转发邮件呢

正如我们在gmail中看到的,新内容应该显示在转发的消息内容之前。你知道我们怎样才能做到这一点吗

转发的邮件可以是多部分的,也可以不是

但由于我们添加了新内容,它将是多部分的

我试过下面的代码

# 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,这不是什么好消息。我也在摆弄这件事。