ホームページ >バックエンド開発 >Python チュートリアル >Python で感情的な電子メールのコンテンツと添付ファイルを送信する方法

Python で感情的な電子メールのコンテンツと添付ファイルを送信する方法

王林
王林転載
2023-05-18 11:28:531099ブラウズ

1. 準備

始める前に、いくつかの準備をする必要があります。まず、Python をインストールする必要があります。 Pythonは公式サイトからダウンロードできます。

Python で感情的な電子メールのコンテンツと添付ファイルを送信する方法

2 番目に、smtplib ライブラリをインストールする必要があります。これは、ターミナルで次のコマンドを使用して実行できます。

pip install smtplib

2. 電子メールを作成します

電子メールを送信する前に、電子メールを作成する必要があります。このためには、Python の電子メール ライブラリを使用する必要があります。

このライブラリを使用すると、HTML 形式の電子メールを含むさまざまな種類の電子メールを作成できます。

Python で感情的な電子メールのコンテンツと添付ファイルを送信する方法

次は、HTML 形式で電子メールを作成するための簡単な Python プログラムです:

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 で感情的な電子メールのコンテンツと添付ファイルを送信する方法

次は、HTML 形式で電子メールを送信するための簡単な Python プログラムです:

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 の電子メール ライブラリを使用する必要があります。

以下は、HTML 形式の電子メールに添付ファイルを追加するための簡単な Python プログラムです:

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。