imaplib モジュールを使用して Python 2 で電子メールを受信する方法.x
電子メールは現代のコミュニケーションに不可欠な部分です。 Python では、imaplib モジュールを使用して IMAP サーバーと通信し、電子メールの受信、検索、移動、削除を行うことができます。この記事では、Python 2.x バージョンの imaplib モジュールを使用して電子メールを受信する方法を紹介し、関連するコード例を示します。
まず、IMAP プロトコルを通じてメール サーバーに接続する必要があります。以下は、サーバーへの接続を確立する方法を示す基本的な例です。
import imaplib # 连接到IMAP服务器 imap_server = imaplib.IMAP4("mail.example.com") # 登录邮箱账号 imap_server.login("your_email@example.com", "your_password") # 打印服务器欢迎消息 print imap_server.welcome
接続が確立され、ログインが成功したら、メールボックス内のメールの操作を開始できます。受信トレイ内のメールを読み取る方法のサンプル コードを次に示します。
# 选择收件箱 mailbox = "INBOX" imap_server.select(mailbox) # 搜索邮件 result, data = imap_server.search(None, "ALL") # 返回邮件的ID列表 mail_ids = data[0].split() # 遍历邮件ID列表 for mail_id in mail_ids: # 获取邮件的内容 result, mail_data = imap_server.fetch(mail_id, "(RFC822)") # 提取邮件主体部分 raw_email = mail_data[0][1] # 将邮件内容转换为字符串 email_body = raw_email.decode("utf-8") # 打印邮件内容 print email_body
上記のコードは、最初に受信トレイを選択し、次に search() メソッドを使用してメールを検索し、メールの ID のリストを返します。郵便。次に、電子メール ID のリストを反復処理し、 fetch() メソッドを使用して電子メールのコンテンツを取得します。最後に、取得した電子メールの内容を文字列に変換し、コンソールに出力します。
メールを読むだけでなく、imaplib モジュールを使用して特定の条件でメールを検索することもできます。以下は、受信トレイ内の特定の日付範囲内の電子メールを検索する方法を示す例です。
# 设置搜索日期范围 date_from = "01-Jan-2022" date_to = "31-Dec-2022" # 构造搜索条件 search_criteria = f'(SINCE "{date_from}" BEFORE "{date_to}")' # 搜索符合条件的邮件 result, data = imap_server.search(None, search_criteria) # 遍历符合条件的邮件 mail_ids = data[0].split() for mail_id in mail_ids: # 获取邮件内容 result, mail_data = imap_server.fetch(mail_id, "(RFC822)") # 提取邮件主体部分 raw_email = mail_data[0][1] # 将邮件内容转换为字符串 email_body = raw_email.decode("utf-8") # 打印邮件内容 print email_body
上記のコードでは、日付範囲を設定して検索条件を構築し、search() メソッドを使用します。受信トレイで一致するメッセージを見つけます。次に、見つかった電子メールをループして、上記の例のように内容を処理します。
最後に、imaplib モジュールを使用してリソースを解放した後、IMAP サーバーへの接続を手動で閉じる必要があります。
# 关闭与服务器的连接 imap_server.logout()
上記は、Python 2.x の imaplib モジュールを使用して電子メールを受信する基本的なプロセスです。このモジュールを使用すると、Python で電子メールを簡単に受信、検索、処理できるため、日常の電子メール処理作業が便利になります。
この記事が imaplib モジュールを使用して電子メールを受信するのに役立つことを願っています。
以上がimaplib モジュールを使用して Python 2.x で電子メールを受信する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。