Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonのPOP3プロトコルクライアント


Pythonの標準ライブラリのpoolibモジュールは、POP3クラスとPOP3_SSLクラスを定義します。 POP3クラスは、POP3サーバーへの接続をカプセル化し、RFC 1939で定義されているプロトコルを実装します。POP3_SSLクラスは、基盤となるプロトコルレイヤーとしてSSLを使用するPOP3サーバーをサポートします。

POP3サーバーの実装品質が非常に低いため、POP3プロトコルは廃止されています。メールサーバーがIMAPをサポートしている場合は、imaplib.IMAP4クラスを使用することをお勧めします。

どちらのクラスにも次のメソッドが定義されています-

getwelcome()

POP3サーバーから送信されたグリーティング文字列を返します。

user(username)

ユーザーコマンドを送信します。応答には、パスワードが必要であることが示されている必要があります。

pass_(パスワード)

パスワードを送信します。

Stat()

メールボックスのステータスを取得します。結果には2つの整数が含まれます:(メッセージ数、メールボックスサイズ)。

list()

リクエストメッセージリスト、結果は(response、['mesg_num octets'、...]、octets)の形式になります。

retr()

指定されたインデックスのメッセージを取得し、表示されたフラグを設定します。

Dele()

削除するメッセージ番号にフラグを付けます。

Top()

メッセージヘッダーとメッセージヘッダーの後のメッセージの行数を取得します

quit():サインオフ

変更をコミットし、メールボックスのロックを解除し、接続を切断します。

次のコードは、GmailのPOPサーバーからすべての未読メッセージを取得します。

import poplib
box = poplib.POP3_SSL('pop.googlemail.com', '995')
box.user("YourGmailUserName")
box.pass_('YourPassword')
N = len(box.list()[1])
for i in range(N):
   for msg in box.retr(i+1)[1]:
      print (msg)
box.quit()

上記のスクリプトを実行する前に、Gmailアカウントが安全性の低いアプリを許可するように構成されていることを確認してください。


  1. Pythonの低レベルネットワークインターフェース(ソケット)

    Pythonの標準ライブラリの「socket」モジュールは、サーバーとクライアントマシンがオペレーティングシステム上でソケットエンドポイントを使用して通信する方法を定義します。 socket APIには、コネクション型ネットワークプロトコルとコネクションレス型ネットワークプロトコルの両方の関数が含まれています。 ソケットは、双方向通信リンクのエンドポイントです。 IPアドレスとポート番号が特徴です。接続を開始するには、両端のソケットを適切に構成する必要があります。これにより、着信メッセージをリッスンし、クライアントサーバー環境で応答を送信できるようになります。 socketモジュールのso

  2. PythonのSMTPプロトコルクライアント(smtplib)

    Pythonの標準ライブラリには、Pythonプログラムを介してメールを送信するために使用できるSMTPクライアントセッションオブジェクトを定義する「smtplib」モジュールがあります。 メールサーバーは、インターネットを介して電子メールを処理および配信するアプリケーションです。送信メールサーバーは、電子メール送信のインターネット標準であるSMTP(Simple MailTransfer Protocol)サーバーを実装します。 受信メールサーバーには、主に2つの種類があります。 POP3、またはポストオフィスプロトコルとIMAP、またはインターネットメッセージアクセスプロトコル。 s