0

特定の仮想ホストへの受信メールを処理し、メールデータをパラメーターとして外部スクリプトを呼び出すための最良のアプローチについてフォポインターを探しています-基本的に、ホストで特定の「プライベート」メールアドレスにメールを送信できるようにします。そのサイト データベースに何かを挿入します。現在、exim をメール ハンドラとして設定しています。

4

2 に答える 2

1

exim の単一ファイル構成構造に従う必要があります。ルーター セクションで、目的の php スクリプトに電子メールを配信する独自​​のカスタム ルーターを記述します。transport セクションでは、curl を使用して目的のスクリプトに確実に配信する独自​​のカスタム トランスポートを記述します。/etc/exim.cnfファイルに次の構成を書き込むだけです。

############ROUTERS
runscript:
        driver = accept
        transport = run_script
        unseen
        no_expn
        no_verify
############TRANSPORT
run_script:
     debug_print = "T: run_script for $local_part@$domain"
     driver = pipe
     command = /home/bin/curl http://my.domain.com/mailTest.php --data-urlencode $original_local_part@$original_domain

mailTest.php が目的のスクリプトになります。

于 2015-08-24T09:11:57.910 に答える
0

Procmail は、優れた一般的な回答です。ニーズが非常に具体的である場合は、独自のスクリプトを直接.forward(または Exim の対応する構造 -- どのように異なるか正確には思い出せません) にフックすることもできますが、多くの場合、独自のスクリプトを単純なスクリプトでラップすると、大量のスクリプト.procmailrcを回避するのに役立ちます。電子メール配信の詳細を曖昧にし、実際の処理に集中してください。

:0
' ^Subject: secretpassword adduser \/[A-Z]+
| echo "insert $MATCH into users" | mysql -d users
于 2011-10-03T15:00:11.223 に答える