- 締切済み
Sendmailで送信者ごとに次の転送先を決めたい
sendmailにて,送信者のアドレスを見て次の転送先を決めるように設定したいと考えています。 sendmail.cfのルールセット0の中で送信者の情報を参照することができれば,実現可能ではないかと思っているのですが,その方法がわかりません。 どなたか,ルールセット0の中で発信者情報を参照する方法を教えてもらえないでしょうか。または,他に良い案があれば教えてもらえないでしょうか。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- xjd
- ベストアンサー率63% (1021/1612)
>sendmail.cfのルールセット0の中で送信者の情報を参照することができれば ルールセット0は、ルールセット3で正規化された受取人アドレスを基にして 配信エージェント(procmai,sendmail等)を決めるものです。 >procmailはクライアントで受信したメールを振り分けるソフトのように認識しているのですが 違います。 procmailはLDAです。 最近のsendmailはローカルメーラにprocmailを指定していると思いますので、 ユーザが受信する「前」に、メールの 送信者・サブジェクト・キーワード・サイズ などの条件に一致したら、他のアドレスに転送する、など可能です。 .forwardからprocmailを呼ぶ場合にしても、.forwardは各個人にメールが 配信される「前」に呼ばれる仕組みです。(各個人が受信後に振り分ける動作ではありません) というわけで、sendmail.cfを直接いじるより、procmailを利用する事をお勧めします。
- fkimura
- ベストアンサー率29% (27/92)
サーバに来る全部に対して振り分けを行うのでしょうか。 sendmail.cfに直接記述するのは敷居の高そうな話ですねぇ…。 わたしならありがちにprocmailで判定して振り分けをすることをすると思いますけど。
補足
回答ありがとうございます。 今回はサーバ上のsendmail.cf内で,アドレスの付替えなどの処理も行う関係から,サーバ上で行えることが前提となっています。 procmailはクライアントで受信したメールを振り分けるソフトのように認識しているのですが,それだと今回の場合は使用できないのです。 sendmail本(こうもり本)を読んでみたのですが,良い方法が見つからない状況です。
補足
回答ありがとうございます。 > ルールセット0は、ルールセット3で正規化された受取人アドレスを基にして > 配信エージェント(procmai,sendmail等)を決めるものです。 基本は上記にあるように受取人アドレスですが,それを発信者にできないかと 思い,いろいろ考えましたができなさそうでした。 $fとかを参照できないかと思いましたが,ルールセット0に$fを記載しても なにも動きませんでした。 > procmailはLDAです。 > 最近のsendmailはローカルメーラにprocmailを指定していると思いますので、 > ユーザが受信する「前」に、メールの > > 送信者・サブジェクト・キーワード・サイズ > > などの条件に一致したら、他のアドレスに転送する、など可能です。 こちらの認識が違っていたようでした。 ただ,procmailはローカル配信に使用するようになっていましたが, 今回行いたいのはリレーになります。 あるサーバからきたメールのうち,特定の発信者の場合は受取人を見ずに, 特定のサーバに転送したいということが行いたいのです。 それ以外のユーザは受取人を見て次の転送先に転送するようにしたいのです。 なので,procmailでも難しいかと思っているのですが,それも認識が違って いるのでしょうか。