Python中如何使用MIMEBase()发送带文本文件附件的邮件
发布时间:2024-01-17 01:35:55
在Python中发送带文本文件附件的邮件,可以使用email模块中的MIMEBase类。MIMEBase类是一个MIME基础类,用于创建不同类型的MIME消息部分。下面是一个例子,演示如何发送带文本文件附件的邮件。
首先,我们需要导入email模块中的一些类和函数:
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.base import MIMEBase from email import encoders
然后,我们需要设置发送方和接收方的邮箱地址、邮箱服务器信息以及邮件内容:
sender = "发送方邮箱地址" receiver = "接收方邮箱地址" subject = "邮件主题" body = "邮件正文" msg = MIMEMultipart() msg["From"] = sender msg["To"] = receiver msg["Subject"] = subject msg.attach(MIMEText(body, "plain"))
接下来,我们需要添加附件到邮件中。首先,我们需要打开要发送的附件文件,并读取其内容:
attachment_path = "附件文件路径"
attachment_name = "附件文件名"
attachment = open(attachment_path, "rb")
part = MIMEBase("application", "octet-stream")
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header("Content-Disposition", f"attachment; filename= {attachment_name}")
msg.attach(part)
然后,我们需要将附件添加到邮件的主体部分。最后,我们可以使用SMTP客户端来连接邮箱服务器,并发送邮件:
smtp_server = "邮箱服务器地址" smtp_port = "邮箱服务器端口" server = smtplib.SMTP(smtp_server, smtp_port) server.starttls() email_user = "邮箱用户名" email_password = "邮箱密码" server.login(email_user, email_password) server.send_message(msg) server.quit()
这是一个完整的例子,演示了如何使用MIMEBase类发送带文本文件附件的邮件。可以根据自己的实际需求,替换相应的邮箱地址、邮箱服务器信息、附件文件路径、附件文件名等信息。
