• 締切済み

sendmailで存在しないユーザへのメールを受け取りたい

red-hat Linux 7.8でSendmail 8.11.6を使っています。 存在しないユーザへのメールを全て一つのユーザで受け取りたいのですがどのようにしたらいいのでしょうか。 googleで調べてみたのですが、バーチャルドメインでユーザテーブルを使った例しかありませんでしたのでご存知の方がおられましたらご教授お願い致します。

  • yuxp
  • お礼率66% (2/3)

みんなの回答

noname#41381
noname#41381
回答No.2

>存在しないユーザというのが多数考えられるためaliasでは対応できないのです。 > そういうことだったんですね。読みとれなくてごめんなさい。 スマートな方法は考えつかなかったです。 とりあえず、なんとか実現するということだけを考えて^ ^;; ・現在の登録ユーザをテキストにしておいて ・sendmail -bd -ODeliveryMode=deffered でキューにためるように起動 ・キューにたまったqxxxxxxxxファイルをチェックするシェルを作り ・RPFDレコードに登録ユーザが無い場合はPRFDを<送りたいユーザ@hoge.com>なんかに変更 ・sendmail -qを数分おきに実行するようにcronで設定 ちょっと強引ですね。 ヘッダーファイルをいじるので全然お薦めではないですが...。 何か他にも方法はありそうですね。 ちょっと無い頭ひねって考えてみます。。。

yuxp
質問者

補足

ありがとうございます。なるほど、何とかできそうな気もしますね。ただ私には敷居が高そうです。。バーチャルドメインを使った例というのを載せておきます。ここの:default:maildropのようなことができればと思うのです。Aliasにワイルドカードが使えれば済みそうな気もしますが。 また何かありましたらよろしくお願いします。 USERTABLE_MAPS=<ドメイン名=タイプ:データベース:フラグ> (複数記述可能) USERTABLE_MAPS に指定したドメイン名に対して、usertable を参照した メールアドレスの書き換えやメールの転送を行なう。この機能は、userdb として sendmail R8 に用意されているものに似ているが、userdb はローカル の発信/受信メールに関して処理を行なうのに対し、usertable は任意のアド レスに関して処理を行なうことができるという点で異なっている。 ドメイン名に local を指定すれば、対応するデータベースは userdb と同様 にローカルの発信/受信用として扱われる。 例) USERTABLE_MAPS='another.domain=hash:/etc/ut.ad' (/etc/ut.ad の内容:) # user1@another.domain 宛のメールを user1 のメールボックスへ user1:maildrop user1 # user2@another.domain を user3@foo.bar に書き変え user2:mailname user3@foo.bar # user2@another.domain 宛のメールを user4@foo.bar に転送 user2:maildrop user4@foo.bar # exact match がなければ any@another.domain 宛のメールを # user5@foo.bar に転送 *:maildrop user5@foo.bar :default:maildrop user5@foo.bar # user6@another.domain が default match した場合 user6@foo.bar # に転送 *:maildrop %1@foo.bar :default:maildrop %1@foo.bar ここに定義されていない user@another.domain 宛のメールの扱いは フラグの指定によって決定される。フラグに error を指定した場合 は、User Unknown エラーになる。フラグになにも指定しなかった 場合は、上位の MX ホストが存在すればそちらに転送される。 当然ながら上位の MX ホストが存在しなければ local config error となる。

noname#41381
noname#41381
回答No.1

sendmail等あまりくわしくないので、 「バーチャルドメインでユーザテーブルを使った例」というのがわかりませんが、 ・DNSのMXで各ドメインを一つのMTAに指定 ・sendmailのACCEPT_ADDRS(CFの場合)で各ドメインを受信できるようにする ・sendmailのaliasで各ユーザを一つのユーザのエイリアスとする といった感じでしょうか? #これが言われている方法ならごめんなさい^ ^;

yuxp
質問者

お礼

ありがとうございます。 受信するドメインは一つでかまわないのです。 また、各ユーザにはちゃんとメールが届いています。 存在しないユーザというのが多数考えられるためaliasでは対応できないのです。 aliasにも書いていないユーザへのメールを一つのユーザに集めたいのです。 説明不足ですみません。

関連するQ&A

  • sendmailの設定について(user unknownメールの転送)

    社内メールサーバの管理を行っています。(専任ではありません) sendmailで次のような処理が出来ないかと考えています。 --------------------------------------------------------- 退社等により既に使われていないメールアドレス宛に送られてくるDMやメールマガジン(user unknownになるメール)を管理者用のメールアドレスに通知する 通知の内容については 1.メールのヘッダのみ 2.メールのヘッダと本文 3.送信者宛に送られるエラー通知メール のいずれか --------------------------------------------------------- このような処理は可能か、また、可能であるとしたらどのような方法があるかをご教示ください。 目的は存在しないメールアドレスに送られてくるDMやメールマガジンの送信を停止させることです。 (上記の方法より良い方法がありましたらそちらも教えていただきたいです。) なお、利用環境は OS:Red Hat Linux release 6.2 sendmail:sendmail 8.11.4 です。 宜しくお願いします。

  • sendmailでメールが送れない

    Linuxのsendmailにてメールが送れません。似たような質問は、他の方もされていますが、私の場合と異なるため質問させていただきます。 Linuxの書籍などをみると、  受信:ドメインの設定が必要  送信:ドメインの設定は必要なし となっています。 しかし、実際にmailコマンドにてメールを送信すると、メールのログにはエラーがあり送信できません。 (同一マシンでも、ネットワークを介して別なマシンでも) <user1@localhost.localdomain>... Real domain name required for sender address このメッセージをみるとドメイン名が必要と思われるのですが、実際にドメイン設定なしで、メールを送ることが可能なのでしょうか。また、可能だとすると何か別な設定が必要なのでしょうか。 以上、わかる方がおりましたら、ご教授お願い致します。

  • sendmailのvirtusertableが有効になりません。

    sendmailのvirtusertableの設定で質問があります。 sendmail.cfには、 # Virtual user table (maps incoming users) Kvirtuser hash -o /etc/mail/virtusertable.db と記述があり、 /etc/mail/virtusertable に ユーザ1@ドメイン名 ユーザ2 と記述し、 # makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable を実行してsendmailを再起動したのですが、 ユーザ1にメールが届いてしまい、virtusertableの設定が有効になっていないように思います。 (# sendmail -bv ユーザ1@ドメイン名 を実行しても、ユーザ1に届いた旨が回答されます。) virtusertableの設定を有効にするにあたり、気をつける箇所などございますでしょうか。 アドバイスを頂けませんでしょうか。 よろしくお願いいたします。 OS:RedHat EL4 sendmail-8.13.1-3.2.el4 sendmail-cf-8.13.1-3.2.el4

  • sendmailについて

    こんにちは。Linux初心者です。 sendmailについて質問をさせてください。 サーバ1からサーバ2へメールを送信しようと考えております。 サーバ1、サーバ2:red hat enterprise linux 5。 両方にsendmailはインストール済み。 sendmailは起動済み。 サーバ1からmailコマンドで % echo "test" | mail ユーザ@サーバ2 を実行したところ、サーバ2の/var/spool/mail/ユーザに メールが到着しません。 サーバ2のポート25をtcpdumpでモニタリングしていると、 サーバ1でmailコマンドを実行してもサーバ2のポート25には、 何もデータは到着しません。 *サーバ1からの以下のコマンドは正常にサーバ2のポート25に到着します。  % telnet サーバ2 25 また、サーバ1からサーバ1へのmailコマンドを使用したメール送付は 正常に実行されます。 サーバ1側の何かしらの設定が悪いかと考えているのですが、 どこをどう修正すればよいのかがわかりません。 質問 送信できない原因、または調査方法をご教示ください。

  • .forwardの制限について

    Red Hat Enterprise Linux ES 2.1、sendmail-8.13.1を使用しています。 メールを使用しているすべてのユーザーにメールを送信したいと思っています。 ユーザーは16000人ほどいます。 新規ユーザーを作成し、.forwardにすべてのユーザーを記述すればいいかなと思ったのですが、その際に.forwardに記述できる行数の制限というものはあるのでしょうか?Web等で調べたのですがわかりませんでした。 ご存知の方いましたら、お教え頂けますでしょうか。 よろしくお願いします。

  • 「mail」コマンドと「sendmail」コマンドについてのくだらない質問です

    よろしくお願いします。 電子メールの送受信を行う「mail」コマンドというのがあるのですが、そのほかに「sendmail」というコマンドがあるようです。 この「sendmail」もメールの送受信に使うコマンドでしょうか。 ちなみに、うちの自宅サーバでは「mail」コマンドは使えますが「sendmail」コマンドが使えません。 $ /usr/lib/sendmail というようにフルパスで指定してもダメでした。 5分経っても10分経っても次のプロンプトが表示されずに反応が無くなってしまいますので「Ctrl」+「c」キーで強制的にプロンプトを表示させるしかありません。 ひょっとして最近コマンド名が変わったとか、そういうことでしょうか。 ディストリビューションはRed Hat Linux8.0で SMTPサーバはsendmail-8.12.5-7.i386.rpmとかいうものです。 どなたか教えてください。

  • sendmailを許可するユーザーとしないユーザーの切り分け方

    sendmail と qpopper で POP before SMTP なメールサーバーを構築していますが、 ユーザーにメールを使わせたい人と、使わせたくない人がいるんですが、 どうすれば制御出来ますか?(RED HAT8.0です) 今は暫定的に、/etc/mail/access ファイルに、メールを使わせたくないユーザー をBと仮定して b@***.ne.jp REJECT と記入して使ってますが、b@***.ne.jp のアドレスでメールの送受信は出来ませんが B君はqpopperに認証出来てしまいますし、認証出来たのならSMTPも通過出来てしまうので a@***.ne.jp とか c@***.ne.jp などの他人のアドレスで詐称してメール送信出来てしまいます。 B君にメールを一切使わせない方法はどうすればよいでしょうか。 (IPで弾く方法を考えましたが、B君がネットカフェなどからアクセスされるとどうしようもないです)

  • sendmailについて

    Red Hatでsendmailを動かしていますが、 cronなどの自動実行タスクが失敗したときに、 root宛にメールが来るのですが、このメールの ログを取らないように設定は出来ないでしょうか? (ntpdateでタイムサーバーと同期が出来なかったときに メールがいちいち来て鬱陶しいので。)

  • sendmail での配送先設定について

    sendmail-8.9.3 を使用しています。 サーバーをバーチャルドメインで運用しているのですが、例えば AAA.com と BBB.com の2つのドメインで運用しているとして、AAA.com からのメールはすべて CCC.com に配送し、BBB.com からのメールはメール内の宛先に従って配送するような設定をしたいのですが、このような設定は可能なのでしょうか?もし可能であれば設定方法をご教授願います。 ちなみに、バーチャルドメインで運用していないサーバーでは、/etc/mail/mailertable で、 . smtp:CCC.com と設定して問題なく動作しています。 この設定だとすべてのメールを CCC.com に配送することになるのでバーチャルドメインにした時に不都合なのです。 この設定の応用で何とかならないか検討してみたのですが、行き詰まってしまいまして… よろしくお願いいたします。

  • サーバ&sendmailでユーザーにアカウント設定させたい

    現在、サーバ(LAMP)にて各ドメイン毎にメールアカウントを割り振り、それらを逐次、登録修正削除しているのですが、それらをユーザー単位でできるシステムというかソフトをご存じないでしょうか。 よく見かけるレンタルサーバで自分のホスティング管理ページでメールアカウントの設定などをできるようなものがあれば(できれば無料で)助かります。 sendmail・pop3・smtp・linux(redhat)という機能でサーバを運営しています。 どうぞ宜しくお願い申し上げます。