2011-01-14 5 views
1

PHPを使用してメールで関数を呼び出すことができるかどうかを知りたい。メールで関数を呼び出す

たとえば、私がeBayのようなアプリケーションを持っていて、同じもののメールアカウントを設定したとします。だから、ユーザが "iPod"という単語を含むメッセージ本文を含むメールを送信するとすぐに、アプリケーションの機能が呼び出され、iPodの仕様がユーザに返送されます。

どのような大まかなアイデアがこれを実現するにはどうすればよいですか?

更新: メールを送り返すことは問題ではなく、簡単に達成できます。私は元の部分を行う方法を理解することができません。私がメールを受け取ったことをどのように知っているのですか?

答えて

0

私が知っている限り、これを行うためのすぐれた機能はありません。あなたがしなければならないことは、あなたのメールサーバーに接続し、新しいメールをすべて読み込むスクリプトを書くことです(これは間違いなく他の人が行っています。その後、メールを解析し、 "iPod"のようなキーワードを探してください。ユーザーにメールを送り返します(basicallsはmailを使用していますが、そこではもっと良いパッケージがたくさんあります。 "sendmail"を探してください)。メールの多く(PHPメール()送ら用メールサーバに接続し、切断し、すべてのメール))

1

通常のソリューションは、条件付きの着信をフィルタリングするために、あなたのSMTPサーバと連携して、このようなprocmailなどのツールを使用することですあなたのスクリプトへのメッセージ。

たとえば、特定のサイズのすべての電子メールをプログラムspamcにプッシュします。

:0fw 
* < 512000 
| spamc 
0

はい、これは可能です。私は専門家から遠いですが、私はそれをうまくやっています。ここで私は理解しています。

あなたが探しているキーワードは、IMAPとPOPです。ほとんどすべての電子メールプロバイダにはPOPがあり、そのほとんどにIMAPもあります。これは、受信トレイのメッセージをスクリプトにストリーミングする単なる方法です。 IMAPは明らかに優れています。

  • また、SSLの拡張機能をアンコメントIMAP拡張のコメントを外し、最初のプロバイダは、それが
  • それはあなたのアカウント設定
  • php.ini内で有効になって確認してサポートして確認してPHP

    • をIMAPを使用するには。

    次に、この例の文字列を使用して接続できます。これはGMail用ですが、他のプロバイダにとってあまり違いはありません。

    これは最も難しい部分ですが、それほど悪くはありません。

    imap_search()関数を使用すると、ストリームからメッセージをフィルタリングできます。 PHPのimap関数セットはかなり使いやすいですが、多かれ少なかれすべてを理解するために数時間か数日かかるでしょう。メッセージの本文を取得するために

    は、例えば、あなたが$iがあなたのimap_search()結果からメッセージ番号です上記のコード、上

    imap_fetchbody($imapStream,$i,1.1) 
    

    を使用すると思います。次に、あなたの文字列を検索します。見つかった場合は、あなたの機能を発動してください。

    メールを受信したかどうかをテストするには、一定の間隔で受信トレイをポーリングできます。

  • 関連する問題