Pythonでメールを送信する

自動化された電子メールは、サブスクライバーに通知やその他のメッセージを送信するために広く使用されています。また、ユーザーの行動や行動に基づいて、さまざまな電子メールがトリガーされます。電子メールの自動化を実装するために、この記事では、PythonでSMTPを使用して電子メールを作成および送信する方法について説明します。

SMTP経由でメールを作成および送信するPythonライブラリ

SMTPを使用して電子メールを作成および送信するには、Aspose.Email for Python via .NETを使用します。これは、機能豊富な電子メールクライアントを実装できる強力なPythonライブラリです。次のコマンドを使用して、PyPIからAPIをインストールできます。

pip install Aspose.Email-for-Python-via-NET

または、以下の手順に従って手動でインストールすることもできます。

  • ダウンロードセクションからインストール可能な.whlファイルをダウンロードします。
  • コマンドラインから、次のコマンドを使用します。pip install «FileName».whl を使用してAPIをインストールします。
  • GitHubからソースコードサンプルの完全なパッケージをダウンロードします。

PythonでSMTP経由でメールを作成して送信する

以下は、PythonでSMTP経由でメールを作成して送信する手順です。

  • MailMessageクラスのオブジェクトを作成します。
  • 件名、本文、送信者、受信者のアドレスを設定します。
  • CcまたはBccを設定します(オプション)。
  • SmtpClientクラスを使用して新しいSMTPクライアントを作成し、ホスト、ポート、ユーザー名、およびパスワードを設定します。
  • セキュリティオプションを設定します。
  • SmtpClient.send(MailMessage)メソッドを使用して電子メールを送信します。

次のコードサンプルは、Pythonでメールを作成して送信する方法を示しています。

# Create email message
eml = ae.MailMessage()
eml.subject = "Message with Plain Text Body"
eml.body = "This is plain text body."
eml.from_address = "from@gmail.com"
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))

# Create SMTP Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO

# Send email
client.send(eml)

PythonでHTML本文を使用してメールを送信する

HTML本文でメールを送信する手順は次のとおりです。

  • MailMessageクラスのオブジェクトを作成します。
  • MailMessage.body_htmlプロパティを使用してメールの本文を設定します。
  • MailMessage.is_body_htmlプロパティをtrueに設定します。
  • 件名、送信者、および受信者のアドレスを割り当てます。
  • CcまたはBccを設定します(オプション)。
  • SmtpClientクラスを使用して新しいSMTPクライアントを作成し、ホスト、ポート、ユーザー名、およびパスワードを設定します。
  • SmtpClient.send(MailMessage)メソッドを使用して電子メールを送信します。

次のコードサンプルは、PythonでHTML本文を使用してメールを送信する方法を示しています。

# Create email message with HTML body
eml = ae.MailMessage()
eml.subject = "Message with Plain Text Body"
eml.is_body_html = True
eml.html_body = "<html><body>This is the <b>HTML</b>body</body></html>"
eml.from_address = "from@gmail.com"
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))

# Create SMTP Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO

# Send email
client.send(eml)

PythonでSMTPを使用して一括メールを送信する

以下は、Pythonで一括メールを送信する手順です。

  • MailMessageクラスを使用して複数の電子メールメッセージを作成し、件名、受信者などのプロパティを設定します。
  • MailMessageCollectionクラスのオブジェクトを作成します。
  • MailMessageCollection.append(MailMessage)メソッドを使用して、コレクションに電子メールメッセージを追加します。
  • SmtpClientクラスを使用して新しいSMTPクライアントを作成し、ホスト、ポート、ユーザー名、およびパスワードを設定します。
  • SmtpClient.send(MailMessageCollection)メソッドを使用して電子メールを送信します。

次のコードサンプルは、Pythonで一括メールを送信する方法を示しています。

# Create multiple email messages
message1 = MailMessage("from@gmail.com", "to@gmail.com", "Sending Bulk Emails using Aspose.Email", "message1, how are you?")
message2 = MailMessage("from@gmail.com", "to@gmail.com", "Sending Bulk Emails using Aspose.Email", "message2, how are you?")
message3 = MailMessage("from@gmail.com", "to@gmail.com", "Sending Bulk Emails using Aspose.Email", "message3, how are you?")

# Add messages to collection
manyMsg =  MailMessageCollection()
manyMsg.append(message1)
manyMsg.append(message2)
manyMsg.append(message3)

# Create SMTP Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO

# Send emails
client.send(manyMsg)

Pythonでメールメッセージを転送する

Pythonでメールメッセージを転送する手順は次のとおりです。

  • MailMessage.load(String fileName)メソッドを使用して、電子メールメッセージをオブジェクトにロードします。
  • 受信者のアドレスを設定します。
  • SmtpClientクラスを使用してSMTPクライアントを作成します。
  • SmtpClient.forward()メソッドを使用してメッセージを転送します。

次のコードサンプルは、Pythonでメールメッセージを転送する方法を示しています。

# Load email message to be forwarded
eml = MailMessage.load("Message.eml")

# Set recipient
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))

# Send using Smtp Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
client.forward("Recipient1@domain.com", "Recipient2@domain.com", eml)

無料のAPIライセンスを取得する

評価制限なしでAPIを使用するには、無料一時ライセンスをリクエストできます。

ライブデモ

結論

この記事では、PythonでSMTPを介してメールを作成および送信する方法を学習しました。さらに、プログラムでプレーンテキストまたはHTML本文を含む大量の電子メールを送信する方法を見てきました。 ドキュメントを使用して、PythonメールAPIの詳細を調べることができます。ご不明な点やご質問がございましたら、フォーラムからお気軽にお問い合わせください。

関連項目