欢迎访问宙启技术站
智能推送

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中发送带附件的邮件。您可以根据自己的需求修改代码,添加更多的附件或调整邮件的内容。