【发布时间】:2021-12-03 14:13:18
【问题描述】:
我一直在尝试通过 python 发送带有 Docx 附件的邮件
我可以收到一封邮件,但没有附件,下面是我用来附加文件的代码 而且我在附加文件时没有收到任何错误
import smtplib, ssl
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders
sender_email = email
receiver_email = toemail
password = password
message = MIMEMultipart("alternative")
message["Subject"] = Subject
message["From"] = sender_email
message["To"] = receiver_email
message.attach(htmlmessage)
attach_file = open(attach_file_name, 'rb') # Open the file as binary mode
payload = MIMEBase('application', 'octet-stream')
payload.set_payload((attach_file).read())
encoders.encode_base64(payload)
#encode the attachment
#add payload header with filename
payload.add_header('Content-Disposition', "attachment; filename= %s" % attach_file)
message.attach(payload)
context = ssl.create_default_context()
with smtplib.SMTP_SSL("smtp.gmail.com", 465, context=context) as server:
server.login(sender_email, password)
server.sendmail(
sender_email, receiver_email, message.as_string()
)
【问题讨论】:
-
我们需要minimal reproducible example 才能重现...
-
这是最小的可重现示例