特定の件名を持つ特定の のアドレスから電子メールを受信すると、特定の動作をトリガすることに興味があります。それを可能にするために、私は 私のメールボックスの監視を実装し、すべての受信メールをチェックする必要があります(特に、私はGmailを使用します)。 これを行う最も簡単な方法は何ですか?Pythonで電子メールを確認する
答えて
GmailではGmailの設定パネルでオンにすることができPOP経由で接続する機能を提供し、放棄されていますPythonはPOP経由で簡単に接続できます。
import poplib
from email import parser
pop_conn = poplib.POP3_SSL('pop.gmail.com')
pop_conn.user('username')
pop_conn.pass_('password')
#Get messages from server:
messages = [pop_conn.retr(i) for i in range(1, len(pop_conn.list()[1]) + 1)]
# Concat message pieces:
messages = ["\n".join(mssg[1]) for mssg in messages]
#Parse message intom an email object:
messages = [parser.Parser().parsestr(mssg) for mssg in messages]
for message in messages:
print message['subject']
pop_conn.quit()
このスクリプトをcronジョブとして実行するだけで済みます。あなたがどのようなプラットフォームをしているのかわからないので、YMMVはどのように行われているのですか?
私はこの同じことをしたいときにpretty good snippetを見つけました(例ではGmailを使用しています)。また、google search resultsもチェックしてください。
リンクが壊れています。 – Elazar
同じリンクからweb.archive。ORG:[クイックと汚い電子メールサーバチェッカー、パイソン](http://web.archive.org/web/20090119142342/http://snippets.dzone.com/posts/show/4024) – davedwards
Gmailは、新しいメールメッセージにアトムfeedを提供します。これを監視するには、py cURL(またはその他のネットライブラリ)で認証し、フィードをプルダウンする必要があります。新しいメッセージごとにGETリクエストを作成すると、それを読み取り済みとしてマークする必要があります。そのため、読んだメールを追跡する必要はありません。
送信するためにどのように任意のアイデア正当な情報が承認されるか? – PascalVKooten
@PascalvKooten late answerですが、フォーマットはhttps://
@Whitebird調査する価値はあります。私はこれに興味があるのは非同期だと思う。今私は答えを持っている私はまだ^ _ ^ありがとう! – PascalVKooten
Python固有のものではありませんが、いつでも私がインストールできるのはprocmailです。
| pathtoyourscript
(この場合、実行するスクリプトに続く縦棒AKAパイプ)、あなたの選択した条件の下であなたのメールがあなたの選択した条件のためにパイプされますあなたが望むものを何でもしようとするためにあなたが選んだスクリプト - あなたの特定の条件を満たすメールを受け取ったときにあなたが選んだ行動を引き起こすためのより一般的なアプローチを考えるのは難しい!!もちろん、どれくらい多くの条件中括弧内にあるすべてのアクション行を囲んでください)
Procmailは実際にアクションを引き起こす問題を解決しません(問題のアクションがメッセージを送信している場合を除く)。 –
@J。ピーターソン、冗談だよね? '|あなたの好きな条件が満たされたときにあなたのスクリプトを起動して、あなたのメールをパイプすることができます。そして、スクリプトは何でもすることができます - どのように "アクションをトリガする"ではありませんか? –
私は最近、procmailとpythonを使ってこの問題を解決しました
procmailのドキュメントをお読みください。あなたは、Pythonは、あなたはおそらく、電子メールでやりたいことができ何かを行うことができます利用できる「電子メール」のパッケージを持っている
:0:
| ./scripts/ppm_processor.py
特別procmailの設定ファイルに次のようにPythonスクリプトにすべての受信メールを送信するためにそれを伝えることができます。以下のものをよく読んで....
from email.generator import Generator
from email import Message
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.mime.multipart import MIMEMultipart
人々はラムソンについて汲み上げているように見える:
https://github.com/zedshaw/lamson
それはPythonで書かれたSMTPサーバーです。私はあなたが必要とする全てを行うためにそれを活用できると確信しています - 単にそのSMTPサーバーにGmailメッセージを転送してから、あなたがすることをしてください。
しかし、おそらく上記のATOMフィード推奨を行うのが最も簡単だと思います。
EDIT:ラムソンは
サーモンは、Python 3に到達しようと、フォークである - それははるかに最近触れている - https://github.com/moggers87/salmon – user2692263
print('please enter str')
def email(n=str):
if ('@' and '.') in n:
z=n.find('@')
c=n.find('.')
if type(n[:z] and n[z:c] and n[c:])==str:
print('valid email')
else:
print('Invalid email')
else:
print('Invalid email')
- 1. 電子メール確認
- 2. カラバッシュで電子メールを確認する
- 3. Laravel電子メールで確認する
- 4. Codeigniter電子メールの確認
- 5. 電子メール確認プロセス
- 6. 電子メールの確認Firebase
- 7. ワードプレスでの電子メール確認
- 8. SignUpでのFirebase電子メールの確認
- 9. Firebaseコンソールでの電子メールの確認
- 10. ASP.NET WEB APIの電子メール確認URL
- 11. Htmlの電子メールの確認
- 12. 電子メールの妥当性確認
- 13. Meteor accounts電子メールの確認
- 14. Azure AD B2C - カスタムサインアップページ、電子メールの確認
- 15. Firebaseの電子メール確認ワークフロー
- 16. 電子メールの妥当性確認
- 17. Firebaseの電子メール確認の動作
- 18. OpenCart電子メールの確認のカスタムフィールド
- 19. .NET ID電子メール確認済みBool
- 20. MeteorJS:ユーザーの電子メールの確認
- 21. Firebaseの電子メールの確認android
- 22. Zendフレームワーク登録+電子メールの確認
- 23. regex電子メールの確認django
- 24. PostgresのSSN、電子メール、電話番号を確認する
- 25. Meteorアプリケーションで電子メールを確認する
- 26. プログラムでOutlook電子メールを確認する
- 27. phpとjQueryで電子メールを確認する
- 28. 確認コードを送信する電子メールでのリンク
- 29. 電子メールをユーザーに送信せずに電子メールアドレスを確認する
- 30. 電子メールを確認する/表示するAndroidの意志
はどうもありがとうございました!!! 素晴らしいです。 私の今の唯一の問題は、新しいメッセージだけを取得する必要があることです。もちろん、すべてのメッセージを取得し、古いリストと新しいメッセージを比較することは可能です。しかし、私は の方が良い方法があれば、そのための方法が組み込まれていれば不思議です。 – Sasha
POPモードでは、gmailはメッセージを1回だけ取り出すことができます。それ以降の接続ではメッセージは表示されません。 2つのうちの1つが起こっていない限り、「最近のモード」がオンになっていますか?無効にする方法については、http://mail.google.com/support/bin/answer.py?answer=47948こちらをご覧ください。 また、gmailが毎回同じメールを実際に送信している場合は、pop接続でquit()メソッドが呼び出されていない可能性があります。おそらくそれが発生しているが、終了する前にキャッチされていない例外はありますか?それからgmailはあなたに同じメールを送ります。 – mazelife
出力はなしです。 – GLHF