【发布时间】:2021-12-09 08:13:55
【问题描述】:
如何在给定此数据框的情况下将多个附件发送到一封电子邮件?每封邮件我只能发送一个文件,但我想在同一封邮件中为一位收件人附加多个文件。
我发送电子邮件的代码:
def enviar_mail(from, to, file_name, link, title):
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
import smtplib
from email import encoders
from google.colab import files
from email.utils import formataddr
import email.utils
import time
from datetime import date
msg = MIMEMultipart('alternative')
msg['From'] =email.utils.formataddr(( "Mail",from))
msg['To'] = to
msg['Subject'] = 'Subject'
bodytext=f"BODY OF THE EMAIL IN HTML"
body=f"""\
<html>
<body>
<p style="color:black;"> {bodytext}
</p>
</body>
</html>
"""
msg.attach(MIMEText(body, 'html'))
attachment = open(file_name, 'rb')
part = MIMEBase('application', "octet-stream")
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', "attachment; filename= %s" % file_name)
msg.attach(part)
mailserver = smtplib.SMTP('smtp.office365.com',587)
mailserver.ehlo()
mailserver.starttls()
mailserver.login(from, 'mypassword')
mailserver.send_message(msg, rcpt_options=['NOTIFY=SUCCESS,DELAY,FAILURE'])
mailserver.quit()
【问题讨论】: