分享

python如何发送声情并茂的邮件内容、附件?

 Python集中营 2023-04-25 发布于甘肃

Python是一种高级编程语言,它可以用于编写各种类型的应用程序,包括发送电子邮件。

Python提供了一个名为smtplib的标准库,它允许我们以编程方式发送电子邮件。

在本文中,我们将演示如何使用Python发送HTML格式的电子邮件。

  1. 准备工作

在开始之前,我们需要准备一些东西。首先,我们需要安装Python。Python可以从官方网站下载。

其次,我们需要安装smtplib库。这可以通过以下命令在终端中完成:

pip install smtplib
  1. 创建电子邮件

在发送电子邮件之前,我们需要创建电子邮件。为此,我们需要使用Python的email库。

这个库允许我们创建各种类型的电子邮件,包括HTML格式的电子邮件。

下面是一个简单的Python程序,用于创建一个HTML格式的电子邮件:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
# 创建一个带有HTML正文的新电子邮件
msg = MIMEMultipart()
msg['From'] = 'sender@example.com'
msg['To'] = 'receiver@example.com'
msg['Subject'] = 'HTML邮件'
# HTML正文
html = """
<html>
<body>
<h1>这是一个HTML邮件</h1>
<p>这是一个演示如何发送HTML格式电子邮件的示例。</p >
</body>
</html>
"""

# 将HTML正文添加到电子邮件中
msg.attach(MIMEText(html, 'html'))
# 使用SMTP服务器发送电子邮件
server = smtplib.SMTP('smtp.gmail.com'587)
server.starttls()
server.login('sender@example.com''password')
server.sendmail('sender@example.com''receiver@example.com', msg.as_string())
server.quit()

在这个示例中,我们首先导入了必要的库:smtplib、MIMEMultipart和MIMEText。

然后,我们创建一个新的MIMEMultipart对象,并设置一些电子邮件头。接下来,我们创建一个HTML正文,并使用MIMEText将其添加到电子邮件中。

最后,我们使用SMTP服务器发送电子邮件。

  1. 发送电子邮件

在我们创建了电子邮件之后,我们需要使用SMTP服务器发送它。

SMTP服务器是一种用于发送电子邮件的协议。在Python中,我们可以使用smtplib库来发送电子邮件。

以下是一个简单的Python程序,用于发送HTML格式的电子邮件:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
# 创建一个带有HTML正文的新电子邮件
msg = MIMEMultipart()
msg['From'] = 'sender@example.com'
msg['To'] = 'receiver@example.com'
msg['Subject'] = 'HTML邮件'
# HTML正文
html = """
<html>
<body>
<h1>这是一个HTML邮件</h1>
<p>这是一个演示如何发送HTML格式电子邮件的示例。</p >
</body>
</html>
"""

# 将HTML正文添加到电子邮件中
msg.attach(MIMEText(html, 'html'))
# 使用SMTP服务器发送电子邮件
server = smtplib.SMTP('smtp.gmail.com'587)
server.starttls()
server.login('sender@example.com''password')
server.sendmail('sender@example.com''receiver@example.com', msg.as_string())
server.quit()

在这个示例中,我们首先创建了一个新的MIMEMultipart对象,并设置一些电子邮件头。

然后,我们创建一个HTML正文,并使用MIMEText将其添加到电子邮件中。最后,我们使用SMTP服务器发送电子邮件。

  1. 添加附件

除了HTML正文之外,我们还可以在电子邮件中添加附件。为此,我们需要使用Python的email库。

以下是一个简单的Python程序,用于添加附件到HTML格式的电子邮件中:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
# 创建一个带有HTML正文和图片附件的新电子邮件
msg = MIMEMultipart()
msg['From'] = 'sender@example.com'
msg['To'] = 'receiver@example.com'
msg['Subject'] = 'HTML邮件'
# HTML正文
html = """
<html>
<body>
<h1>这是一个HTML邮件</h1>
<p>这是一个演示如何发送HTML格式电子邮件的示例。</p >
<p>下面是一张图片:</p >
< img src="cid:image1">
</body>
</html>
"""

# 将HTML正文添加到电子邮件中
msg.attach(MIMEText(html, 'html'))
# 添加图片附件
with open('image.png''rb'as f:
    img_data = f.read()
img = MIMEImage(img_data)
img.add_header('Content-ID''<image1>')
msg.attach(img)
# 使用SMTP服务器发送电子邮件
server = smtplib.SMTP('smtp.gmail.com'587)
server.starttls()
server.login('sender@example.com''password')
server.sendmail('sender@example.com''receiver@example.com', msg.as_string())
server.quit()

在这个示例中,我们首先创建了一个新的MIMEMultipart对象,并设置一些电子邮件头。

然后,我们创建一个HTML正文,并使用MIMEText将其添加到电子邮件中。接下来,我们使用MIMEImage添加一张图片附件,并使用Content-ID将其链接到HTML正文中。

最后,我们使用SMTP服务器发送电子邮件。

  1. 总结

在本文中,我们介绍了如何使用Python发送HTML格式的电子邮件。我们使用了Python的email库和smtplib库。

我们还演示了如何添加附件到HTML格式的电子邮件中。我们希望这篇文章能够帮助你学习如何在Python中发送电子邮件。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约