Simple Mail Transfer Protocol(SMTP)は、クライアントアプリケーションから電子メールサーバーへの電子メールメッセージの送信を処理する、最も一般的に使用される電子メールプロトコルです。さまざまな場合、電子メールクライアントはPythonアプリケーション内に実装され、SMTP経由で電子メールを送信します。このようなシナリオでは、この記事ではPythonを使用してSMTPサーバーに接続する方法について説明します。さらに、SMTP経由で電子メールを送信する方法を示します。
SMTPサーバーに接続するPythonライブラリ
Aspose.Email for Python via .NETは、メールを作成、送信、操作するためのPythonライブラリです。これにより、Pythonで独自の電子メールクライアントをシームレスに実装できます。このライブラリを使用してSMTPサーバーに接続します。次のコマンドを使用して、PyPIからライブラリをインストールできます。
pip install Aspose.Email-for-Python-via-NET
または、以下の手順に従って手動でインストールすることもできます。
- ダウンロードセクションからインストール可能な.whlファイルをダウンロードします。
- コマンドラインから、次のコマンドを使用します。pip install «FileName».whlを使用してAPIをインストールします。
- GitHubからソースコードサンプルの完全なパッケージをダウンロードします。
PythonでSMTPサーバーに接続する
SMTPサーバーに接続する前に、次のことを知っておく必要があります。
- ユーザー名
- パスワード
- ポート
それらを入手したら、次の手順を使用してSMTPクライアントを構成できます。
- まず、SmtpClientクラスのオブジェクトを作成します。
- 次に、SmtpClient.host, SmtpClient.username, SmtpClient.password, およびSmtpClient.portプロパティをそれぞれ使用して、ホスト、ユーザー名、パスワード、およびポート番号を設定します。
- SmtpClient.security_optionsプロパティを使用してセキュリティオプションを設定します。
- 最後に、SmtpClientオブジェクトを使用してメールボックスにアクセスします。
次のコードサンプルは、PythonでSMTPサーバーとの接続を確立する方法を示しています。
import aspose.email as ae
from aspose.email import SecurityOptions, SmtpClient
# create SMTP client
client = SmtpClient()
# set host, port, username and password
client.host = "smtp.gmail.com"
client.port = 587
client.username = "username"
client.password = "password"
# set security options for SSL emabled server
client.security_options = SecurityOptions.SSLEXPLICIT
PythonでSMTP経由でメールを送信する
SMTPサーバーへの接続を確立した後、電子メールを送信できます。次のコードサンプルは、PythonでSMTP経由でメールを送信する方法を示しています。
import aspose.email as ae
from aspose.email import SecurityOptions, SmtpClient
# create a new message
eml = ae.MailMessage()
# set subject, body, to and from addresses
eml.subject = "Message with Html 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"))
# send email using Smtp Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
client.send(eml)
無料のAPIライセンスを取得する
一時ライセンスの取得により、.NET経由でAspose.EmailforPythonを無料で使用できます。
結論
この記事では、Pythonを使用してSMTPサーバーに接続する方法を学習しました。また、PythonでSMTP経由でメールを送信する方法を見てきました。 ドキュメントにアクセスして、.NET経由のAspose.EmailforPythonの詳細を確認できます。ご不明な点やご質問がございましたら、フォーラムからお気軽にお問い合わせください。