Python发送带附件的邮件时使用email.mime.text模块的技巧
发布时间:2023-12-24 01:10:32
使用Python发送带附件的邮件需要使用email模块的相关类和方法。其中,email.mime.text模块提供了创建纯文本邮件的类和方法。下面是一些使用email.mime.text模块发送带附件的邮件的技巧和使用示例。
1. 导入必要的模块和类:
import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart
2. 创建MIMEMultipart对象来表示邮件的整体结构,包括邮件正文和附件:
msg = MIMEMultipart()
3. 创建MIMEText对象来表示邮件的正文:
text = MIMEText('邮件正文')
msg.attach(text)
4. 添加附件:
from email.mime.application import MIMEApplication
# 读取附件的内容
with open('文件路径', 'rb') as f:
attachment = MIMEApplication(f.read())
# 设置附件的文件名
attachment.add_header('Content-Disposition', 'attachment', filename='附件文件名')
msg.attach(attachment)
5. 设置邮件的发件人、收件人和主题:
msg['From'] = '发件人邮箱' msg['To'] = '收件人邮箱' msg['Subject'] = '邮件主题'
6. 发送邮件:
server = smtplib.SMTP('邮件服务器地址', 端口号)
server.login('发件人邮箱', '发件人邮箱密码')
server.send_message(msg)
server.quit()
以下是一个完整的示例代码:
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
msg = MIMEMultipart()
text = MIMEText('邮件正文')
msg.attach(text)
with open('文件路径', 'rb') as f:
attachment = MIMEApplication(f.read())
attachment.add_header('Content-Disposition', 'attachment', filename='附件文件名')
msg.attach(attachment)
msg['From'] = '发件人邮箱'
msg['To'] = '收件人邮箱'
msg['Subject'] = '邮件主题'
server = smtplib.SMTP('邮件服务器地址', 端口号)
server.login('发件人邮箱', '发件人邮箱密码')
server.send_message(msg)
server.quit()
注意事项:
- 在发送邮件之前,需要先配置好发件人邮箱的SMTP服务器地址和端口号。
- 需要替换代码中的发件人邮箱和收件人邮箱。
- 如果SMTP服务器需要身份验证,需要提供发件人邮箱的用户名和密码。
使用以上技巧和示例代码,可以在Python中发送带附件的邮件。您可以根据自己的需求修改代码,添加更多的附件或调整邮件的内容。
