imaplib モジュールを使用して Python 3 で電子メールを受信する方法.x
はじめに:
現代社会では、電子メールは人々の仕事や生活に欠かせない一部となっています。開発者として、受信メールを受信して処理するプログラムを作成する必要がある場合があります。 Python はこの機能を実装するためのライブラリを豊富に提供していますが、その中でも imaplib モジュールは非常に便利なツールです。この記事では、Python 3.x の imaplib モジュールを使用してメールを受信する方法を紹介します。
ステップ 1: imaplib モジュールをインストールする
始める前に、imaplib モジュールが Python 環境にインストールされていることを確認してください。インストールされていない場合は、次のコマンドを実行してインストールできます:
pip install imaplib
ステップ 2: 必要なライブラリをインポートする
プログラムを作成する前に、まず imaplib モジュールとその他の関連ライブラリをインポートする必要があります。 。
import imaplib import email from email.header import decode_header
ステップ 3: メール サーバーに接続する
メールを受信するには、メール サーバーに接続する必要があります。暗号化された IMAP 接続は、imaplib モジュールの IMAP4_SSL 関数を使用して確立できます。
# 设置IMAP服务器地址和端口 imap_server = "imap.example.com" imap_port = 993 # 建立与IMAP服务器的连接 imap_connection = imaplib.IMAP4_SSL(imap_server, imap_port)
ステップ 4: メールボックスにログインします
IMAP サーバーに正常に接続したら、メールボックスにログインする必要があります。これを実現するには、IMAP オブジェクトの login() メソッドを使用します。
# 输入邮箱账户和密码 email_address = "your_email@example.com" password = "your_password" # 登录到邮箱 try: imap_connection.login(email_address, password) except Exception as e: print("登录失败:", str(e)) exit(1) # 退出程序
ステップ 5: 処理する電子メール アドレスを選択します
ログインに成功した後、電子メールを受信する電子メール アドレスを選択する必要があります。 IMAP オブジェクトの select() メソッドを使用して、メールボックスを選択できます。
# 选择收件箱 mailbox = "INBOX" try: imap_connection.select(mailbox) except Exception as e: print("选择邮箱失败:", str(e)) exit(1) # 退出程序
ステップ 6: メールの検索
メールボックスを選択したら、search() メソッドを使用してメールを検索できます。検索条件を指定して、必要なメールをフィルタリングできます。
# 搜索条件 search_criteria = 'ALL' # 搜索邮件 try: status, message_ids = imap_connection.search(None, search_criteria) except Exception as e: print("搜索邮件失败:", str(e)) exit(1) # 退出程序 # 将邮件ID列表拆分为单独的邮件ID message_id_list = message_ids[0].split()
ステップ 7: メールをスキャンして処理する
メールを検索した後、メールをスキャンして各メールを処理できます。
# 遍历邮件ID列表并处理每封邮件 for message_id in message_id_list: try: status, message_data = imap_connection.fetch(message_id, "(RFC822)") except Exception as e: print("获取邮件失败:", str(e)) continue # 邮件内容 raw_email = message_data[0][1] email_message = email.message_from_bytes(raw_email) # 解析邮件头部 subject = decode_header(email_message["Subject"])[0][0] sender = decode_header(email_message["From"])[0][0] recipient = decode_header(email_message["To"])[0][0] # 打印邮件信息 print("邮件主题:", subject) print("发件人:", sender) print("收件人:", recipient) # 如果邮件有附件 if email_message.get_content_maintype() == "multipart": for part in email_message.walk(): content_type = part.get_content_type() if "application" in content_type: save_attachment(part)
ステップ 8: 添付ファイルを保存する (オプション)
電子メールに添付ファイルがある場合は、次のコードを使用して添付ファイルを保存できます。
def save_attachment(part): filename = part.get_filename() if filename: with open(filename, "wb") as f: f.write(part.get_payload(decode=True)) print("保存附件:", filename)
ステップ 9: IMAP サーバーへの接続を閉じる
メールの処理が終了したら、IMAP サーバーへの接続を閉じる必要があります。
# 关闭与IMAP服务器的连接 try: imap_connection.logout() except Exception as e: print("退出登录失败:", str(e)) exit(1) # 退出程序
概要:
この記事では、Python 3.x の imaplib モジュールを使用して電子メールを受信する方法を紹介します。 IMAP サーバーに接続し、メールボックスにログインし、メールボックスを選択し、メールを検索し、メールを走査し、メールを処理することでタスクを完了します。 imaplib モジュールは、電子メール受信のさまざまなニーズを満たす豊富な機能とメソッドを提供します。この知識を習得することで、強力で効率的なメール処理プログラムを作成できます。
以上がimaplib モジュールを使用して Python 3.x で電子メールを受信する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

限られた時間でPythonの学習効率を最大化するには、PythonのDateTime、時間、およびスケジュールモジュールを使用できます。 1. DateTimeモジュールは、学習時間を記録および計画するために使用されます。 2。時間モジュールは、勉強と休息の時間を設定するのに役立ちます。 3.スケジュールモジュールは、毎週の学習タスクを自動的に配置します。

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません
