この記事では、プログラムでメールサーバーから電子メールメッセージを取得する方法を学習します。特に、IMAPまたはPOP3プロトコルを使用してメールサーバーに接続し、Pythonでメールを読む方法を理解するようになります。
メールを読むためのPythonAPI
メールサーバーからのメールを読み取るために、Aspose.Email for Python via .NETを使用します。これは、Pythonアプリケーション内から電子メールクライアントを実装できる機能豊富な電子メールAPIです。 ダウンロード.whlファイルを使用するか、次のpipコマンドを使用してAPIをインストールできます。
> pip install Aspose.Email-for-Python-via-NET
Pythonでメールサーバーからのメールを読む
POP3とIMAPは、通常、メールサーバーから電子メールを取得するために使用されます。次のセクションでは、両方の電子メールプロトコルを個別に使用して電子メールを読み取る方法を示します。
POP3を使用して電子メールメッセージを読む
以下は、POP3を使用して電子メールメッセージを読み取る手順です。
- Pop3Clientクラスのオブジェクトを作成し、ホスト、ポート、ユーザー名、およびパスワードで初期化します。
- Pop3Client.security_optionsプロパティを使用してセキュリティオプションを設定します。
- **Pop3Client.get_message_count()メソッドを使用してメッセージ数を取得します。
- Pop3Client.fetch_message()メソッドを使用して、ループ内の各メッセージにアクセスします。
次のコードサンプルは、POP3を使用してPythonでメールを読み取る方法を示しています。
# create POP3 client
client = Pop3Client("pop.gmail.com", 995, "username", "password")
# set security options
client.security_options = SecurityOptions.AUTO
# get message count
messageCount = client.get_message_count()
print("Total messages: " + str(messageCount))
# create an instance of the MailMessage class to read message
for i in range(0,messageCount):
message = client.fetch_message(i+1)
print("From:" + str(message.from_address))
print("Subject:" + message.subject)
print(message.html_body)
IMAPを使用して電子メールメッセージを読む
以下は、IMAPを使用して電子メールメッセージを読み取る手順です。
- ImapClientクラスのオブジェクトを作成し、ホスト、ポート、ユーザー名、およびパスワードで初期化します。
- **ImapClient.select_folder(folderName)**メソッドを使用してフォルダーを選択します。
- **ImapClient.list_messages()**メソッドを使用してメッセージのリストをループします。
次のコードサンプルは、PythonでIMAPを使用して電子メールメッセージを読み取る方法を示しています。
# connect to mail server using IMAP
client = ImapClient("imap.gmail.com", 993, "username", "password")
# select folder
client.select_folder("Inbox")
# loop through email messages and save them as .eml files
for msg in client.list_messages():
print("Subject: " + msg.subject)
print("HtmlBody: " + msg.html_body)
print("TextBody: " + msg.body)
client.save_message(msg.unique_id, msg.unique_id + "_out.eml")
無料のAPIライセンスを取得する
無料の一時ライセンスをリクエストすると、.NET経由でAspose.EmailforPythonを使用できます。
結論
この記事では、Pythonを使用してメールサーバーからメールを読み取る方法を学びました。特に、POP3およびIMAPクライアントを使用して電子メールメッセージをフェッチおよび読み取る方法を見てきました。 ドキュメントを使用して、PythonメールAPIの詳細を調べることができます。さらに、あなたは私たちのフォーラムにあなたの質問を投稿することができます。