Maison >développement back-end >Tutoriel Python >Comment envoyer du contenu d'e-mail émotionnel et des pièces jointes en Python

Comment envoyer du contenu d'e-mail émotionnel et des pièces jointes en Python

王林
王林avant
2023-05-18 11:28:531096parcourir

1. Préparation

Avant de commencer, nous devons préparer certaines choses. Tout d’abord, nous devons installer Python. Python peut être téléchargé sur le site officiel.

Comment envoyer du contenu de-mail émotionnel et des pièces jointes en Python

Deuxièmement, nous devons installer la bibliothèque smtplib. Cela peut être fait dans le terminal avec la commande suivante :

pip install smtplib

2. Créer un email

Avant d'envoyer un email, nous devons créer un email. Pour cela, nous devons utiliser la bibliothèque de messagerie de Python.

Cette bibliothèque nous permet de créer différents types d'e-mails, y compris ceux au format HTML.

Comment envoyer du contenu de-mail émotionnel et des pièces jointes en Python

Voici un programme Python simple pour créer un email au 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()

Dans cet exemple, nous introduisons d'abord les modules nécessaires : smtplib, MIMEMultipart et MIMEText.

Comment envoyer du contenu de-mail émotionnel et des pièces jointes en Python

Ensuite, nous créons une instance MIMEMultipart et définissons des en-têtes d'e-mail. L'étape suivante consiste à créer un corps HTML, puis à l'ajouter à l'e-mail à l'aide de MIMEText.

Enfin, nous utilisons le serveur SMTP pour envoyer l'e-mail.

3.Envoyer un e-mail

Après avoir créé l'e-mail, nous devons l'envoyer à l'aide d'un serveur SMTP.

Le serveur SMTP est un protocole utilisé pour l'envoi d'e-mails. En Python, vous pouvez utiliser le module smtplib pour envoyer des emails.

Comment envoyer du contenu de-mail émotionnel et des pièces jointes en Python

Voici un programme Python simple pour envoyer un e-mail au 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()

Dans cet exemple, nous créons d'abord un nouvel objet MIMEMultipart et définissons des en-têtes d'e-mail.

Comment envoyer du contenu de-mail émotionnel et des pièces jointes en Python

Ensuite, nous générons un corps HTML et l'ajoutons à l'e-mail à l'aide de MIMEText. Enfin, nous utilisons un serveur SMTP pour envoyer des emails.

4. Ajouter des pièces jointes

En plus du corps HTML, nous pouvons également ajouter des pièces jointes à l'e-mail. Pour cela, nous devons utiliser la bibliothèque de messagerie de Python.

Voici un programme Python simple pour ajouter des pièces jointes à un e-mail au format 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()

Dans cet exemple, nous créons d'abord un nouvel objet MIMEMultipart et définissons des en-têtes d'e-mail.

Ensuite, nous allons créer un corps HTML et le joindre à l'e-mail en utilisant MIMEText. Ensuite, nous ajoutons une image jointe à l'aide de MIMEImage et la lions au corps HTML à l'aide de Content-ID.

Comment envoyer du contenu de-mail émotionnel et des pièces jointes en Python

Enfin, nous utilisons le serveur SMTP pour envoyer des emails.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer