2012-04-30 8 views
1

私は電子メールパーザをどのように作成するかを解明しようとしています。私は技術的にそれを行う方法を理解していますが、実装の詳細を把握することはできません。電子メールパーサーをサービスとして作成するには?

メールサーバーが受信したメールサーバーは、ユーザーがメールを受信し、件名、コンテンツに基づいて自分のアプリケーションを解析し、バケツ(電子メールアカウントまたはデータベース)にドロップしてから対処することができます。

は、だから私は(我々はすでに実行しているZimbraの、のような)既存のメールサーバソフトウェアを使用するか、私はポート25でリッスンし、私は必要なもの、特にないアプリケーションを作成するのですか?

ここでの私の目標は、私は自分自身を電子メールで送信するものに基づいて自動化された方法で自分自身の個人的な使用のための組織の一連のツールを作成することです(このボックス上で実行中のメールサーバーsofware、などを意味しません)。

答えて

0

私はメールボックスをポーリングするpythonスクリプト(cronジョブに基づいています)に行きます。 PythonはIMAPに非常に簡単にアクセスすることができ、電子メールの内容を解析する強力な正規表現関数を持っています。 SMTPサーバが関与し、あなたが望むもののために、おそらく行き過ぎされるように、ポート25と行為をリッスンするために何かを書く

import imaplib, email 
import re 

M= imaplib.IMAP4_SSL('imap.gmail.com') 
M.login('user', 'pass') 

M.select('Imap_folder') 

typ, data = M.search(None, 'FROM', '"*"') 

for num in data[0].split(): 
    typ, data = M.fetch(num, '(RFC822)') 
    email_body = data[0][1] # getting the mail content 
    mail = email.message_from_string(email_body) # parsing the mail content to get a mail object 
    foo = re.compile("your regular expr here", re.MULTILINE) 
    res = foo.search(email_body) 
+0

私はPythonを学んでおもしろいし、それを外しましたが、私が見るより多くのものがそれを使用しています。私が得ないのは、人々がどのようにサイトをPythonで作成するかです。私は常にzzz.com/vvv.pyでサイトを見ています。 – Jason

+0

私はあなたのコメントを得ることはできないと思う...あなたがPythonを使ってウェブサイトを作る方法を尋ねるなら、私はあなたがdjangoを学ぶことによって始めることができると答えるでしょう...もしあなたがウェブサイト、私はあなたが何をしようとしているかによって異なりますと考えています –

+0

いいえ、サービスとしてのPythonは本当にありません。私はPythonが多くのウェブサイトでも使われているのを見ているだけです。 – Jason

1

のようなものを試してみてください。

私は2つの主要な選択肢があると思います。最初の方法は、既存のメールサーバーをそのまま残し、IMAP(またはPOP3)経由でそのメールサーバー上のアカウントをポーリングして電子メールを取得し、スクリプトを使用して処理することです。 IMAP接続を処理し、その後ほとんどの言語で電子メールを解析するためのライブラリがあるので、どの言語が快適であるかは実際問題ではありません。

また、これを行うhttp://CloudMailin.comのようなサービスを見ることもできます。それは電子メールを受信し、JSON形式のようなhttpポストで作成できるWebアプリケーションに送信します。

関連する問題