首頁 > 後端開發 > Python教學 > Python如何實現發送聲情並茂的郵件內容和附件

Python如何實現發送聲情並茂的郵件內容和附件

王林
發布: 2023-05-18 11:28:53
轉載
1099 人瀏覽過

1.準備工作

在開始之前,我們需要準備一些東西。首先,我們需要安裝Python。 Python可以從官方網站下載。

Python如何實現發送聲情並茂的郵件內容和附件

其次,我們需要安裝smtplib函式庫。這可以透過以下命令在終端機中完成:

pip install smtplib
登入後複製

2.建立電子郵件

在發送電子郵件之前,我們需要建立電子郵件。為此,我們需要使用Python的email庫。

這個函式庫允許我們建立各種類型的電子郵件,包括HTML格式的電子郵件。

Python如何實現發送聲情並茂的郵件內容和附件

下面是一個簡單的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>
<h2>这是一个HTML邮件</h2>
<p>这是一个演示如何发送HTML格式电子邮件的示例。</p >
</body>
</html>
"""
# 将HTML正文添加到电子邮件中
msg.attach(MIMEText(html, &#39;html&#39;))
# 使用SMTP服务器发送电子邮件
server = smtplib.SMTP(&#39;smtp.gmail.com&#39;, 587)
server.starttls()
server.login(&#39;sender@example.com&#39;, &#39;password&#39;)
server.sendmail(&#39;sender@example.com&#39;, &#39;receiver@example.com&#39;, msg.as_string())
server.quit()
登入後複製
登入後複製

在這個例子中,我們先引入必須的模組:smtplib、MIMEMultipart和MIMEText。

Python如何實現發送聲情並茂的郵件內容和附件

接著,我們建立一個MIMEMultipart實例,然後設定一些郵件頭。下一步,我們的操作是建立一個HTML正文,然後使用MIMEText將其新增至電子郵件中。

最後,我們使用SMTP伺服器發送電子郵件。

3.發送電子郵件

在我們建立了電子郵件之後,我們需要使用SMTP伺服器發送它。

SMTP伺服器是用來傳送電子郵件的協定。 Python中,可以利用smtplib模組來傳送電子郵件。

Python如何實現發送聲情並茂的郵件內容和附件

以下是一個簡單的Python程序,用於發送HTML格式的電子郵件:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
# 创建一个带有HTML正文的新电子邮件
msg = MIMEMultipart()
msg[&#39;From&#39;] = &#39;sender@example.com&#39;
msg[&#39;To&#39;] = &#39;receiver@example.com&#39;
msg[&#39;Subject&#39;] = &#39;HTML邮件&#39;
# HTML正文
html = """
<html>
<body>
<h2>这是一个HTML邮件</h2>
<p>这是一个演示如何发送HTML格式电子邮件的示例。</p >
</body>
</html>
"""
# 将HTML正文添加到电子邮件中
msg.attach(MIMEText(html, &#39;html&#39;))
# 使用SMTP服务器发送电子邮件
server = smtplib.SMTP(&#39;smtp.gmail.com&#39;, 587)
server.starttls()
server.login(&#39;sender@example.com&#39;, &#39;password&#39;)
server.sendmail(&#39;sender@example.com&#39;, &#39;receiver@example.com&#39;, msg.as_string())
server.quit()
登入後複製
登入後複製

在這個範例中,我們首先建立了一個新的MIMEMultipart對象,並設定一些電子郵件頭。

Python如何實現發送聲情並茂的郵件內容和附件

接著,我們產生一個HTML主體,並將其加入電子郵件中使用MIMEText。最後,我們使用SMTP伺服器發送電子郵件。

4.新增附件

除了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[&#39;From&#39;] = &#39;sender@example.com&#39;
msg[&#39;To&#39;] = &#39;receiver@example.com&#39;
msg[&#39;Subject&#39;] = &#39;HTML邮件&#39;
# HTML正文
html = """
<html>
<body>
<h2>这是一个HTML邮件</h2>
<p>这是一个演示如何发送HTML格式电子邮件的示例。</p >
<p>下面是一张图片:</p >
< img src="cid:image1">
</body>
</html>
"""
# 将HTML正文添加到电子邮件中
msg.attach(MIMEText(html, &#39;html&#39;))
# 添加图片附件
with open(&#39;image.png&#39;, &#39;rb&#39;) as f:
    img_data = f.read()
img = MIMEImage(img_data)
img.add_header(&#39;Content-ID&#39;, &#39;<image1>&#39;)
msg.attach(img)
# 使用SMTP服务器发送电子邮件
server = smtplib.SMTP(&#39;smtp.gmail.com&#39;, 587)
server.starttls()
server.login(&#39;sender@example.com&#39;, &#39;password&#39;)
server.sendmail(&#39;sender@example.com&#39;, &#39;receiver@example.com&#39;, msg.as_string())
server.quit()
登入後複製

在這個範例中,我們首先創建了一個新的MIMEMultipart對象,並設置一些電子郵件頭。

接著,我們會建立一個HTML主體,並利用MIMEText將其附加到電子郵件中。接下來,我們使用MIMEImage新增一張圖片附件,並使用Content-ID將其連結到HTML正文中。

Python如何實現發送聲情並茂的郵件內容和附件

最後,我們使用SMTP伺服器發送電子郵件。

以上是Python如何實現發送聲情並茂的郵件內容和附件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板