首页 > 后端开发 > Python教程 > 如何使用Python发送电子邮件附件?

如何使用Python发送电子邮件附件?

DDD
发布: 2024-12-12 15:58:15
原创
217 人浏览过

How to Send Email Attachments Using Python?

如何使用 Python 发送电子邮件附件

使用 Python 发送电子邮件附件可能看起来令人畏惧,尤其是对于初学者来说。让我们一步步分解。

smtplib 库通常用于在 Python 中发送电子邮件。下面是一个还包含附件功能的简化示例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

import smtplib

from os.path import basename

from email.mime.application import MIMEApplication

from email.mime.multipart import MIMEMultipart

from email.mime.text import MIMEText

from email.utils import COMMASPACE, formatdate

 

def send_mail(send_from, send_to, subject, text, files=None,

              server="127.0.0.1"):

    assert isinstance(send_to, list)

 

    msg = MIMEMultipart()

    msg['From'] = send_from

    msg['To'] = COMMASPACE.join(send_to)

    msg['Date'] = formatdate(localtime=True)

    msg['Subject'] = subject

 

    msg.attach(MIMEText(text))

 

    for f in files or []:

        with open(f, "rb") as fil:

            part = MIMEApplication(

                fil.read(),

                Name=basename(f)

            )

        # After the file is closed

        part['Content-Disposition'] = 'attachment; filename="%s"' % basename(f)

        msg.attach(part)

 

 

    smtp = smtplib.SMTP(server)

    smtp.sendmail(send_from, send_to, msg.as_string())

    smtp.close()

登录后复制

让我们解码代码:

  • 创建一个 MIMEMultipart 对象来表示电子邮件消息。
  • 设置发件人和收件人的电子邮件地址、主题和日期。
  • 使用 MIMEText 创建电子邮件正文并将其附加到电子邮件中。
  • 循环浏览附件文件(如果有)并使用 MIMEApplication 将它们准备为附件。
  • 将准备好的附件附加到电子邮件中。
  • 创建 SMTP 对象并连接到指定的电子邮件服务器。
  • 使用以下命令发送电子邮件smtp.sendmail() 并关闭连接。

使用此脚本,您可以轻松地将文件附加到电子邮件并使用 Python 发送它们。请记住将占位符值(例如发件人、收件人、主题等)替换为您自己的信息。

以上是如何使用Python发送电子邮件附件?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板