• 締切済み

Sendmailで送信者ごとに次の転送先を決めたい

sendmailにて,送信者のアドレスを見て次の転送先を決めるように設定したいと考えています。 sendmail.cfのルールセット0の中で送信者の情報を参照することができれば,実現可能ではないかと思っているのですが,その方法がわかりません。 どなたか,ルールセット0の中で発信者情報を参照する方法を教えてもらえないでしょうか。または,他に良い案があれば教えてもらえないでしょうか。

みんなの回答

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.2

>sendmail.cfのルールセット0の中で送信者の情報を参照することができれば ルールセット0は、ルールセット3で正規化された受取人アドレスを基にして 配信エージェント(procmai,sendmail等)を決めるものです。 >procmailはクライアントで受信したメールを振り分けるソフトのように認識しているのですが 違います。 procmailはLDAです。 最近のsendmailはローカルメーラにprocmailを指定していると思いますので、 ユーザが受信する「前」に、メールの 送信者・サブジェクト・キーワード・サイズ などの条件に一致したら、他のアドレスに転送する、など可能です。 .forwardからprocmailを呼ぶ場合にしても、.forwardは各個人にメールが 配信される「前」に呼ばれる仕組みです。(各個人が受信後に振り分ける動作ではありません) というわけで、sendmail.cfを直接いじるより、procmailを利用する事をお勧めします。

111daiki111
質問者

補足

回答ありがとうございます。 > ルールセット0は、ルールセット3で正規化された受取人アドレスを基にして > 配信エージェント(procmai,sendmail等)を決めるものです。 基本は上記にあるように受取人アドレスですが,それを発信者にできないかと 思い,いろいろ考えましたができなさそうでした。 $fとかを参照できないかと思いましたが,ルールセット0に$fを記載しても なにも動きませんでした。 > procmailはLDAです。 > 最近のsendmailはローカルメーラにprocmailを指定していると思いますので、 > ユーザが受信する「前」に、メールの > > 送信者・サブジェクト・キーワード・サイズ > > などの条件に一致したら、他のアドレスに転送する、など可能です。 こちらの認識が違っていたようでした。 ただ,procmailはローカル配信に使用するようになっていましたが, 今回行いたいのはリレーになります。 あるサーバからきたメールのうち,特定の発信者の場合は受取人を見ずに, 特定のサーバに転送したいということが行いたいのです。 それ以外のユーザは受取人を見て次の転送先に転送するようにしたいのです。 なので,procmailでも難しいかと思っているのですが,それも認識が違って いるのでしょうか。

  • fkimura
  • ベストアンサー率29% (27/92)
回答No.1

サーバに来る全部に対して振り分けを行うのでしょうか。 sendmail.cfに直接記述するのは敷居の高そうな話ですねぇ…。 わたしならありがちにprocmailで判定して振り分けをすることをすると思いますけど。

111daiki111
質問者

補足

回答ありがとうございます。 今回はサーバ上のsendmail.cf内で,アドレスの付替えなどの処理も行う関係から,サーバ上で行えることが前提となっています。 procmailはクライアントで受信したメールを振り分けるソフトのように認識しているのですが,それだと今回の場合は使用できないのです。 sendmail本(こうもり本)を読んでみたのですが,良い方法が見つからない状況です。

関連するQ&A

  • sendmailの設定について

    クローズなネットワークにあるサーバから、管理者宛メール(root宛)をあるメールサーバへ送信したいです。 DNSなどを参照せずに、IP指定でメールをすべて転送したいのですが、sendmail.cfの設定箇所が分からず困ってます。 sendmail-8.12.10を使用しております。 よろしくお願いします。

  • sendmailコマンドでの送信についてよろしくお願いいたします。

    sendmailコマンドでの送信についてよろしくお願いいたします。 現在、次の環境にてメールサーバーの作成をしています。 OS   [CentOS 5] メール [postfix] このような、メールサーバの作成(転送設定)で、Thunderbirdといわ れます、メールソフトからのメールの送信は可能になったのですが、 sendmailコマンドでの送信が出来なくて困っています。 よろしければ、原因や問題を、教えて頂けましたらと思っています。 よろしくお願いいたします。 (現在の状況では次のようになっております。) ・メールサーバーには、(main.cf)ファイルに、 relayhost = [SMTPサーバー] を記述して、転送の設定をしています。 ・また、  smtp_sasl_password_maps = hash:/etc/postfix/isp_account  の記述と、(isp_account)ファイルの中には、  [SMTPサーバー]:25 ユーザー名:パスワード  の作成をしています。 ※telnet localhost 25 で入りましての送信は行えています。

  • 送信メールの転送について

    こんにちは。 Redhat Linux8でsendmail8.12を使用しています。 情けない話なのですが、最近、社内において各種情報(社員の個人情報等)を外部に漏洩している人物がいる、との噂が広がっています。 それを知った上司から『社内のメールサーバを利用している可能性もあるので、全ての発信メール、または漏らしているらしい人物の発信するメールを転送して欲しい』という依頼を受けました。 smtp転送というのはsendmailで可能なのでしょうか? もし可能なら、その方法、またはヒントを教えて下さい。 宜しくお願い致します。

  • root宛てメールの転送について

    sendmailの転送設定について困っていることがあるので質問させて頂きます。 あるサーバでCRONによりジョブが実行され、実行結果がroot宛にメールで配信されるようになっています。そのサーバ自体ではメールの参照を行わないため、メールは他のアドレスに転送したいと考えています。現状では /usr/bin/mail test@test.co.jp とやるとtest@test.co.jpに送信が可能です。次にroot宛のメールを転送しようと思い、/etc/mail/aliasesファイルの編集→newaliases にて転送設定を行いましたが、root宛に送信しても転送先へメールが転送されません。 aliasの設定に問題があるかと思い、以下のテストを行いましたが、設定したとおりの結果が返ってきています。 <テスト1> sendmail -C/etc/mail/sendmail.cf -v -bv root <テスト2>冗長モードでのメール配信 sendmail -C/etc/mail/sendmail.cf -v root  正常にroot宛メールがtest@test.co.jpに転送されて受信可能 しかしmailコマンドにてローカルからroot宛にメールを送信しても同様に目的のアドレスには転送されず、rootに配信されてしまいます。  /usr/bin/mail root  とやるとroot宛に送信してしまいtest@test.co.jpには送信できません。 このサーバ自体はメールの受信の必要はなく、root宛のメールを転送することができれば良いのですが、この先の対応方法が見つからず難儀しております。 情報に不足があり、状態が正確にお伝えできていないかも知れませんが、このような状態の解決のヒントをいただければと思っております。 よろしくお願い致します。 ■環境  OS :FreeBSD 4.7-RELEASE  sendmail :8.12.1(デーモン起動は行っていない)

  • sendmailで、ユーザー名(@より前)のアドレス変換は可能でしょうか

    はじめまして。 CentOSで、sendmailを立ち上げています。 sendmail.cfのルールセットで、アドレス変換をやろうとしています。 @より以降のアドレス書き換え test@domain1.co.jp → test@domain2.com などは問題なくできました。 しかし、ユーザー名(@より前)のアドレス変換 test@domain.co.jp → user@domain.co.jp ができません。 ユーザー名(@より前)のアドレスを書き換える、という事はできないのでしょうか。 また、できるのならば、どのような手順を踏めばよろしいでしょうか。 sendmail.cfの設定は、直接編集および、cfでやっています。 よろしくお願い致します。

  • sendmailの質問(メール本文と添付ファイル)

    UNIXのCシェルと、sendmailコマンドで、メール送信を考えています。 メール本文あり、添付ファイル、どちらも利用してメールをしたいのですが、実現方法が分かりません。インターネットサイトで調べたところ、sendmail.cfの設定方法くらいしか見つけられませんでした。 具体的な解決方法や、その情報が載っているサイトを教えて頂けないでしょうか?

  • sendmailでメール送信

    OS:Redhat9 sendmail 上記環境にてメール送信を行いたいのですが、 送信されません。 mailコマンドにて、 mail hoge@***.com と入力して、 件名、本文、CCは記述の方法はわかるのですが、 一応送信されているようなのですが、相手(自分の他のメール)に届きません。 sendmailのコマンドにて、メールを送信する場合は ただmailコマンドにあて先メールアドレスを、記述 すればよいのでしょうか、 たとえば、次の中継先のメールサーバーは記述するのでしょうか。

  • sendmailについて

    sendmailで送信に失敗した際にメールスプールに保存されますが、その後の処理はどうなるのでしょうか? 動作の全体像が知りたいです。 あて先に送信されない場合は送信元に戻されるのでしょうか? 送信元も戻せない場合はどうなるのでしょうか? あと、設定はsendmail.cf?ですべて記述するのでしょうか? 変更した後、有効にさせる方法も教えて欲しいです。 sendmailでバイブルといわれる本をご存知の方もお願いいたします。

  • sendmailで他ドメインのアドレスに送信できません。

    LinuxWorld1月号に付いていたRHL8.0で7.3からアップグレードしました。sendmailはrpmで8.12.5-7にアップグレードしました。以前のsendmail.mcを使ってもう一度sendmail.cfを作成したところローカルドメインのユーザー間ではメールの送信は可能なのですが、他ドメインのメールアドレスにはメール送信ができなくなりました。また、sendmail.cfを作成する際 *** WARNING: missing -T<TMPF> in argument of FEATURE('access_db',hash -o /etc/mail/access.db)という警告が出ますが何のことなのでしょうか。参考にしたsendmail.mc の内容は以下のページのものです。 http://www.geocities.co.jp/SiliconValley-Cupertino/1049/inst_mail.html

  • メール転送で送信元メールアドレスの指定

    RedHatLinuxESサーバでsendmail 8.12にてメールサーバを運用しております。 .forwardで携帯アドレスにメール転送をしたいのですが、 携帯電話側でドメイン受信拒否設定などをしていると、 指定ドメイン以外の送信者のメールを転送することができません。 転送の際に、送信アドレスを転送元アドレスにする方法を教えてください。 procmailや、他の転送方法でも構いません。 何か方法があれば教えてください。 よろしくお願いいたします。