Simple Mail Transfer Protocol(SMTP)は、クライアントアプリケーションから電子メールサーバーに電子メールメッセージを送信するためによく知られており、一般的に使用されているプロトコルです。電子メール自動化機能を実装しているときに、Pythonアプリケーション内からSMTPサーバーに接続する必要がある場合があります。このようなシナリオでは、この記事では、PythonでプログラムによってSMTPサーバーに接続する方法について説明します。さらに、SMTPサーバーに接続した後に電子メールを送信する方法を学習します。
SMTPサーバーに接続するPythonライブラリ
Aspose.Email for Pythonは、Pythonベースの電子メールクライアントアプリケーションを作成できるすばらしいライブラリです。ライブラリを使用すると、複雑なコードを記述せずにSMTPサーバーに簡単に接続してアクセスできます。次のコマンドを使用して、PyPIからライブラリをインストールできます。
> pip install Aspose.Email-for-Python-via-NET
PythonでSMTPサーバーに接続する
SMTPサーバーに接続する前に、次のことを知っておく必要があります。
- ホスト
- ユーザー名
- パスワード
- ポート
それらを入手したら、次の手順を使用してSMTPクライアントを構成できます。
- SmtpClientクラスのオブジェクトを作成します。
- SmtpClientオブジェクトを使用して、ホスト、ユーザー名、パスワード、およびポート番号を設定します。
- SmtpClient.security_optionsプロパティを使用してセキュリティオプションを設定します。
- この時点で、SmtpClientオブジェクトを使用してサーバーと通信できます。
次のコードサンプルは、PythonでSMTPサーバーとの接続を設定する方法を示しています。
from aspose.email import SmtpClient, SecurityOptions
# Create SMTP client
client = SmtpClient()
# Set properties
client.host = "smtp.gmail.com"
client.port = 587
client.username = "username"
client.password = "password"
# Set security options
client.security_options = SecurityOptions.SSLEXPLICIT
PythonでSMTP経由でメールを送信する
接続を確立したら、PythonでSMTP経由でメールを送信することができます。そのための手順は次のとおりです。
- SmtpClientクラスのオブジェクトを作成し、資格情報とセキュリティオプションを設定します。
- MailMessageクラスのオブジェクトを作成します。
- 電子メールメッセージの件名、本文、宛先、送信元、およびその他のフィールドを設定します。
- SmtpClient.send(MailMessage)メソッドを使用してメッセージを送信します。
次のコードサンプルは、PythonでSMTP経由でメールを送信する方法を示しています。
import aspose.email as ae
# Create email
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"))
# Configure SMTP Client
client = ae.SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = ae.SecurityOptions.AUTO
# Send email
client.send(eml)
無料のAPIライセンスを取得する
一時ライセンスの取得を使用すると、Aspose.EmailforPythonを無料で試して使用できます。
結論
この記事では、PythonでSMTPサーバーに接続する方法を学びました。さらに、PythonでプログラムによってSMTPサーバーに接続した後に電子メールを送信する方法を見てきました。さらに、documentationを使用して、Aspose.Emailの詳細を調べることができます。また、フォーラムで質問や質問を共有することもできます。