Rumah >pembangunan bahagian belakang >Tutorial Python >Cara menghantar kandungan dan lampiran e-mel emotif dalam Python

Cara menghantar kandungan dan lampiran e-mel emotif dalam Python

王林
王林ke hadapan
2023-05-18 11:28:531069semak imbas

1. Persediaan

Sebelum bermula, kita perlu menyediakan beberapa perkara. Pertama, kita perlu memasang Python. Python boleh dimuat turun dari laman web rasmi.

Cara menghantar kandungan dan lampiran e-mel emotif dalam Python

Kedua, kita perlu memasang perpustakaan smtplib. Ini boleh dilakukan di terminal dengan arahan berikut:

pip install smtplib

2. Buat e-mel

Sebelum menghantar e-mel, kita perlu mencipta e-mel. Untuk ini, kita perlu menggunakan perpustakaan e-mel Python.

Pustaka ini membolehkan kami mencipta pelbagai jenis e-mel, termasuk yang dalam format HTML.

Cara menghantar kandungan dan lampiran e-mel emotif dalam Python

Berikut ialah program Python mudah untuk mencipta e-mel dalam format 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()

Dalam contoh ini, kami mula-mula memperkenalkan Modul yang diperlukan: smtplib, MIMEMultipart dan MIMEText.

Cara menghantar kandungan dan lampiran e-mel emotif dalam Python

Seterusnya, kami mencipta tika MIMEMultipart dan menetapkan beberapa pengepala e-mel. Langkah seterusnya ialah membina badan HTML dan kemudian menambahnya pada e-mel menggunakan MIMEText.

Akhir sekali, kami menggunakan pelayan SMTP untuk menghantar e-mel.

3. Hantar e-mel

Selepas kami mencipta e-mel, kami perlu menghantarnya menggunakan pelayan SMTP.

Pelayan SMTP ialah protokol yang digunakan untuk menghantar e-mel. Dalam Python, anda boleh menggunakan modul smtplib untuk menghantar e-mel.

Cara menghantar kandungan dan lampiran e-mel emotif dalam Python

Berikut ialah program Python mudah untuk menghantar e-mel dalam format 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()

Dalam contoh ini, kami mula-mula mencipta objek MIMEMultipart baharu dan tetapkan beberapa pengepala e-mel.

Cara menghantar kandungan dan lampiran e-mel emotif dalam Python

Seterusnya, kami menjana badan HTML dan menambahkannya pada e-mel menggunakan MIMEText. Akhir sekali, kami menggunakan pelayan SMTP untuk menghantar e-mel.

4. Tambah lampiran

Selain badan HTML, kami juga boleh menambah lampiran pada e-mel. Untuk ini, kita perlu menggunakan perpustakaan e-mel Python.

Berikut ialah atur cara Python mudah untuk menambah lampiran pada e-mel berformat 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()

Dalam contoh ini kita mula-mula mencipta objek MIMEMultipart baharu dan menetapkan Beberapa pengepala e-mel.

Seterusnya, kami akan membuat badan HTML dan melampirkannya pada e-mel menggunakan MIMEText. Seterusnya, kami menambah lampiran imej menggunakan MIMEImage dan memautkannya ke badan HTML menggunakan Content-ID.

Cara menghantar kandungan dan lampiran e-mel emotif dalam Python

Akhir sekali, kami menggunakan pelayan SMTP untuk menghantar e-mel.

Atas ialah kandungan terperinci Cara menghantar kandungan dan lampiran e-mel emotif dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam