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

王林
Lepaskan: 2023-05-18 11:28:53
ke hadapan
1092 orang telah melayarinya

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
Salin selepas log masuk

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()
Salin selepas log masuk
Salin selepas log masuk

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()
Salin selepas log masuk
Salin selepas log masuk

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()
Salin selepas log masuk

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!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan