PHPを使用して、メールからmysqlデータベースにデータを収集したいと考えています。
誰かが自分のメールアカウントにメールを送信した場合、私のメールIDに送信されます。そのメール情報をデータベースに保存したい。さらなる操作のために。PHPで開発された ホスティング支援アプリKayako Fusionでこの機能を見たので、PHPでも可能です。
したがって、このタスクを実行するための情報を提供してください。
PHPを使用して、メールからmysqlデータベースにデータを収集したいと考えています。
誰かが自分のメールアカウントにメールを送信した場合、私のメールIDに送信されます。そのメール情報をデータベースに保存したい。さらなる操作のために。PHPで開発された ホスティング支援アプリKayako Fusionでこの機能を見たので、PHPでも可能です。
したがって、このタスクを実行するための情報を提供してください。
PHP で解析したい場合は、サード パーティの API を使用してメールを復活させ、それを HTTP Post で PHP スクリプトに送信するのが最善の方法です。
sendgrid.comまたはmailgun.com の使用をお勧めします
これらのサービスは両方とも、電子メールを解析し、mysql に挿入できる http POST で情報を送信します。両方の API ドキュメント: MailGun Incoming Parse API / SendGrid Incoming Parse API
たとえば、次のようにimap 関数を使用できます。
<?php
$imap = imap_open("{server.example.com:143}INBOX" , 'login' , 'password');
if( $imap ) {
//Check no.of.msgs
$num = imap_num_msg($imap);
//if there is a message in your inbox
if( $num >0 ) {
//read that mail recently arrived
$the_message = imap_body($imap, $num);
//Do the stuff with $the_message
}
//close the stream
imap_close($imap);
}
Exchange または POP サーバーに接続する cronjob (Windows ではスケジュールされたタスク) をセットアップし、最後の実行からすべての新しい電子メールを取得して DB に挿入する必要があります。
POP メール サーバーの場合 (POP の方が簡単だと思います)、ここに必要なすべての機能が記載されたコメントがあります ->ここ。それでもうまくいかない場合は、「PHP POP wrapper」などをグーグル検索してみてください。
Microsoft Exchange サーバーの場合は、ここにある PHP Exchange ラッパーを使用する必要があります。
幸運を!