私は持っていますAmazonLinuxの例AWS EC2。彼らはsendmail
商用電子メールプロバイダであるSMARTHOSTを介して互いに通信し、メールを送信します。私のEC2インスタンスのパブリックIPアドレスを指すMXレコードがなく、開いている着信メールポートもありません。私が本当に望むのは、ユーザーがフォームを送信するたびに、ビジネスウェブサイト(goformz.com)がPDFフォームでPOSTリクエストをこれらのインスタンスでホストしているウェブサイトに送信することです。しかし、彼らが何をすべきかを理解するまで、彼らの現在の行動に従い、商用の電子メールサーバーのアドレスにPDF添付ファイルを電子メールで送信することができます。
fetchmail
頭を傷つけた後は、設定をインストールしたり変更したりすることなく、必要なものを手に入れるprocmail
ことができるようです。そしてそれは非常に簡単でなければなりません。私はおなじみmaildrop
sendmail
使用 procmail
~/.forward ファイルで、次のようにユーザーしかし、マニュアルを読んだ後、EC2サーバーにインストールして設定するのは混乱しています。どちらもデーモンとしてfetchmail
実行しprocmail
、他のサーバーにメッセージを転送したいようです。私はそれがfetchmail
デーモンとして実行されると予想し、一定の頻度でIMAPを介してビジネスの電子メールアカウントからメッセージを受信し、同期的に各メッセージに対して呼び出されるprocmail
ルールは、添付ファイルを抽出し、その中のフォームフィールドを処理するPHPスクリプトにメッセージをパイプすることです。スクリプト呼び出しが〜/ .forwardファイルにある必要がある場合は、ユーザーディレクトリをハードワイヤードに設定しますが、どのように設定するのかわかりません。誰もが私にこの状況を解決できる文書の指示を直接教えてもらえますか?
似ているような他の答えの質問を見つけましたが、私にインスピレーションを与えた質問はありませんでした。サーバーがpostfix
MTAとして実行されると仮定しているようです。
答え1
かなり混乱しているようです。 Procmailはデーモンとして実行されません。そのように設定すると、Fetchmail、Sendmailなどから配信エージェントとして呼び出されます。しかし、Fetchmailが必要だと思う理由の完全な話は間違っているようです。しかし、あなたの質問に対する短い答えは、意図したとおりに使用することです。この単一の目的のためだけのものであれば、Procmailの代わりにPHPスクリプトを実行するように設定することもできます(PHPスクリプトがエラー発生時に強力であるかどうか疑わしいので、Procmailでラップするのが良い考えかもしれません)。
私はFechmailに精通していませんが、IIRCではProcmailを次のように使用するように設定します。
mda "procmail /home/you/.procmailrc"
たぶんあなたは-d
選択肢や他の装飾が欲しいかもしれません。
あなたが運営するメールサーバーは通常非常に退屈であり、メッセージがローカルに配信されるときにProcmail(または他のLDA)を予約するのにあいまいに似たメカニズムを持っています。通常のMTAフローをFetchmailフローから分離する必要がある場合は、デフォルトのシステムスコープをバイパスするように設定したい場合がありますが/etc/procmailrc
、あなたの場合は、SendmailでProcmailをまったく実行する必要はないようです。簡単です。