• 締切済み

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

みんなの回答

  • akane333
  • ベストアンサー率0% (0/0)
回答No.2

うちはBSD系だけど今設定しているところなので回答してみる。 前提としてmcとcfは読める&作成できると仮定すると、 virtusertableを参照するにはクラス{w}もしくは クラス{VirtHost}に設定する必要があります。 前者は define(`confCW_FILE', `-o /etc/mail/local-host-names') 後者は VIRTUSER_DOMAIN_FILE(`-o /etc/mail/virt-host-names') のような設定がmcに必要です。(後者をお勧め) この設定でcfを作成して、 virtusertableで振り分けたいドメインをどちらかの ファイルに一行1ドメインづつ書いていきます。 できたら sendmail -bt で試してみる。 # sendmail -bt ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter <ruleset> <address> > 3,0 test@example.com 希望のところに配送されるようならsendmailを再起動してください。 このままですと、{w}か{VirtHost}に書いたドメインでかつ、 virtusertableに書いてないユーザがローカル配送になるはずなので、 存在しないユーザーを受け取りたくなければ、 @example.com error:nouser No such user here をvirtusertableの最後に書いておくといいかも。

  • pakuti
  • ベストアンサー率50% (317/631)
回答No.1

RedHatEL4で同じように試しましたが 問題なく動作しています。 (sendmailの再起動は必要無いのでしていません) virtusertable内に余計なスペースが入っていたりしませんか? sendmailを再起動しているのであれば 何かしらのエラーがログに吐かれているかもしれません。 確認してみて下さい。 # rpm -qa |grep sendmail sendmail-8.13.1-3.RHEL4.5 sendmail-cf-8.13.1-3.RHEL4.5

kakekake_07
質問者

補足

どうもありがとうございます。 virtusertableは、 メールアドレス ユーザ名 メールアドレスとユーザ名の間には、半角のスペースを入れております。 ユーザ名の後ろは改行を入れております。 ログを確認したのですが、 Oct 9 20:07:11 221x251x219x237 sendmail[21877]: alias database /etc/aliases rebuilt by ユーザ名(rootではない) Oct 9 20:07:11 221x251x219x237 sendmail[21877]: /etc/aliases: 78 aliases, longest 10 bytes, 802 bytes total Oct 9 20:07:11 221x251x219x237 sendmail[21882]: starting daemon (8.13.1): SMTP+queueing@01:00:00 Oct 9 20:07:11 221x251x219x237 sm-msp-queue[21891]: starting daemon (8.13.1): queueing@01:00:00 と表示されます。 どこかで何か余分な設定をしてしまっているのでしょうか。 何か手がかりがつかめたらと思うのですが、どこから手をつけてよいのか分からなくなっている次第でございます。 調べる手順、チェックする項目など、 アドバイスを頂けませんでしょうか。 よろしくお願いいたします。

関連するQ&A

  • sendmailのインストール

    sendmail-8.12.9からsendmail-8.12.10へバージョンアップしようとしたところ、インストールも無事にすみ、 sendmailを起動させようとすると以下のようなエラー がでて上手くいきません。教えていただけないでしょうか? # ./S98sendmail start 554 5.0.0 /etc/mail/sendmail.cf: line 137: readcf: map virtuser: class hash not available CFファイルでの設定は ##### $Id: virtusertable.m4,v 8.16 1999/07/22 17:55:36 gshapiro Exp $ ##### Kvirtuser hash /etc/mail/virtusertable となっています。

  • Linux 複数ドメインのSendmailの設定について

    現在、バーチャルドメインにおいてのsendmailの設定で 非常に困っています。 どなたか教えていただけませんでしょうか(;_;) ------------------------------------------- 複数ドメインの場合 ドメイン違い同じアカウント名が発生します。 例えば *a*という会社のドメインと*b*という会社のドメインの管理 をしている場合に、*a*という会社にも*b*という会社にも userさんという人がいて 内部的にはユーザー管理を番号などでしているとしても 外部的には同じアカウントをドメイン違いで使用したいのです。 【例】 ユーザー:User1  ドメイン:*a*.co.jp ユーザー:User2  ドメイン:*b*.co.jp user@*a*.co.jp は user1のmailboxへ配信 user@*b*.co.jp は user2のmailboxへ配信 【現在設定内容】 Sendmail.defファイルの[usertable]にて 以下のように設定しております。 ((sendmail.def)) USERTABLE_MAPS='*a*.co.jp=hash:/etc/mail/mail.*a*.db \ *b*.co.jp=hash:/etc/mail/mail.*b*.db' ((dbの内容)) (1)mail.*a*.dbの内容 user:maildrop user1@*a*.co.jp (2)mail.*b*.dbの内容 user:maildrop user2@*b*.co.jp ※Sendmail.defはCfファイルに変換し、dbファイルも hashをかけて ・・・というような処理は必ず実行しているものとします。 OFFICIAL_NAMEには*a*.co.jp MY_ALIASには*b*.co.jp ALIAS_REWRITE=no ACCEPT_ADDRには*b*.co.jpと設定しています。 いろんな方のHP等をご拝見させていただいたのですが なんだか上手く行かなくって・・・ 上手く行かないというのは どちらのドメインでテストしても 結局Official_Nameに設定している*a*のuser1のmailboxに いっちゃうのです。 Procmail?の設定は全くしていません。 もしかして必要なのでしょうか。。。

  • 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

  • sendmail設定について

    お願いします。m(_)m 先日、メールサーバ構築のためsendmailをインストールしました。 sendmailをスタートすると以下のメッセージが表示されます。 # /etc/rc.d/init.d/sendmail start Starting sendmail: makemap: Need to recompile with -DNEWDB for hash support makemap: Need to recompile with -DNEWDB for hash support makemap: Need to recompile with -DNEWDB for hash support makemap: Need to recompile with -DNEWDB for hash support [ OK ] このメッセージは具体的にはどのような事をしたらよいのでしょうか? 宜しくお願い致します。 説明が不十分でしたらご指摘ください。 OS:Redhat7.1J sendmail.8.12.2

  • sendmail.cf の直接編集

     現在、バーチャルドメインメールの機能を追加 したいですが、sendmail.cfの最後に VIRTUSER_DOMAIN('han3.com dianwang.com') VIRTUSER_DOMAIN_FILE('-o /etc/mail/virtuser-domains') FEATURE('/etc/mail/virtusertable') を直接追加したいです。  そのまま書き加えますと、認識されませんので、よろ しくお願いします。

  • SASL認証なしでも送信出来てしまいます。(sendmail.mcの設定)

    SASL認証付きのアクセスでも、SASL認証無しのアクセスでも、 メールが送信出来てしまいます。 sendmail -d0.1 -bv root | grep SASL では、ちゃんとSASLが出て来ます。 どこを直せば良いのでしょうか? divert(-1)dnl include(`/usr/share/sendmail-cf/m4/cf.m4')dnl VERSIONID(`setup for Red Hat Linux')dnl OSTYPE(`linux')dnl define(`confDEF_USER_ID',``8:12'')dnl define(`confTRUSTED_USER', `smmsp')dnl define(`confTO_CONNECT', `1m')dnl define(`confTRY_NULL_MX_LIST',true)dnl define(`confDONT_PROBE_INTERFACES',true)dnl define(`ALIAS_FILE', `/etc/aliases')dnl define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl define(`confAUTH_OPTIONS', `A')dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl define(`confTO_IDENT', `0')dnl FEATURE(`no_default_msa',`dnl')dnl FEATURE(`smrsh',`/usr/sbin/smrsh')dnl FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl FEATURE(redirect)dnl FEATURE(always_add_domain)dnl FEATURE(use_cw_file)dnl FEATURE(use_ct_file)dnl MAILER(smtp)dnl

  • sendmailからpostfixに切り替え

    Virtualminを使ったら、sendmailからpostfixに切り替わり、メールの送受信出来なくなりました。 (outlook等で外部のメールアドレスが出来ない。メールワイズでもダメ!) Relay access denied.ポート:25.セキュリティ(SSL):なし,サーバーエラー:554,エラー番号:0x800CCC79 なかなかネットで探しても情報がありません。 centos専用サーバーでwebminを使って管理していました。 今まではドメインがひとつだったのでよかったのですが、 ドメインを追加にする為、追加設定が楽そうなVirtualminをインストールし管理しようとしました。 ドメインを追加、ホームページは無事設置できたのですが、 今まで使っていたもともとあったメールアドレスが送受信できなくなりました。 新規のアドレスは追加方法がわからず何もしていません。 (webminはわかるがVirtualminでの追加がわからない) >どうしたいか sendmail,postfixどちらでもいいのでメールの送受信が出来るようにしたい。 >行った作業は、以下の2つ 1 設定はvi /etc/postfix/main.cfで ファイルの末尾に以下を追加 virtual_alias_maps = hash:/etc/postfix/virtual 2 VirtualminのCreate Virtual Serverでドメイン追加! >原因 Virtualminがsendmail回りのファイルを削除したのか?書き換えたのか? >状況 /etc/rc.d/init.d/sendmail statusでsendmailのステータスをみると sendmail dead but subsys lockedというエラーが発生 /etc/rc.d/init.d/sendmail stop Shutting down sendmail: [FAILED] /etc/rc.d/init.d/postfix status master (pid 8569) is running... もともとあったドメインは、Virtualminには入れていません。 入れたら設定変わってますます大変ですよね!? >バックアップで設定復元 webminで設定をバックアップ復元しても送受信できません。 >疑問 今までsendmailで使っていたメールアドレスは、設定を変えなくてもpostfixで動くのでしょうか? なぜでしょう?困っています。宜しくお願い致します

  • sendmail設定方法

    sendmailを今設定してます。環境は、centosを使いsendmailは、sendmail--.RHEL.4.3です。ちなみにm4は、m4-1.4.1-16です。 コマンドで、"m4 /etc/mail/sendmail.mc > /etc/sendmail.cf"を実行してもそのようなディレクトリはありませんとエラーが出ます。他のバージョンではこのコマンドで出来たのに…。どなたか教えて下さい。

  • sendmailサーバを利用するための設定をお教え下さい。

    linux(redhat9)にてメールサーバ立ち上げるため、 cfにてsendmail・ipop設定までは出来ましたが、ここか ら先どうするかで詰ってしまいました。 サーバでのmailコマンドで、ユーザ間メール送受信はOK でした。 ルータ、ファイア・ウォール設定もOKです。 WAN側のメールサーバ名のDNS設定はドメイン取得した 会社側で設定してもらえるのを確認しました。 mxレコードに ○○.jp. IN MX 10 mail.○○.jp 設定を考えてます。 自サーバ側のどこでmail.○○.jpをひもづければよいの か?また他に必要な設定は? また、クライアント側の受信・送信サーバ設定も分かり ません。 先週、sendmailについてはアドバイスいただき、 「sendmailメールサーバの設定・運用・管理」を入手し 設定しました。 ですがDNSとの連携やクライアント側の設定など、メール サーバを利用するための情報が分かりません。 アドバイス、またはDNS・クライアント設定まで述べて いる良い本がありましたらそちらの紹介でもかまいませ んのでご教授の程よろしくお願いします。 【設定を行った内容】 ●cfを使用してsendmail.mcよりsendmail.cfを生成 m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf ●中継許可 /etc/mail/relay-domains 192.168.1 ○○.jp ●受け取るドメイン /etc/mail/local-host-names ○○.jp service sendmail restart ●imap・ipop /etc/xined.d/ipop3 disable yes←noに変更 service xinetd restart

  • sendmailで外部への送信不能

    こんばんは。 どうにもsendmailの動作が分からなかったので、質問させていただきます。 閉じたネットワークの中でsendmailを使ってメールサーバを構築しています。 受信にはdovecotを利用してます。(ちなみにOSはCentOS5.1です) 同一ドメイン内ですと送受信可能。 他ドメインに対しては受信のみ可能。 送信が不可能な状態にあります。 メールサーバのメールログは以下のとおりになっています。 /var/log/maillog ---------------------------------- Jun 23 18:57:00 host10 sendmail[3262]: p5N9uoUR003262: ruleset=check_rcpt, arg1=<xxx@dom100.com>, relay=host11.dom10.com [192.168.10.11], reject=550 5.7.1 <xxx@dom100.com>... Relaying denied Jun 23 18:57:00 host10 sendmail[3262]: p5N9uoUR003262: from=<xxx@dom10.com>, size=0, class=0, nrcpts=0, proto=ESMTP, daemon=MTA, relay=host11.dom10.com [192.168.10.11] ---------------------------------- 上記のエラーをネット等で調べると、 「/etc/mail/accessファイルでのリレーができていない」 という原因にしかたどり着けません。 accessファイルにはきちんとリレーの設定をし、 access.dbへの更新もした上で、サービスの再起動を行いましたが、動作は変わりません。 ちなみにaccessファイルの記述は下記の通りです。 /etc/mail/access ---------------------------------- Connect:localhost.localdomain RELAY Connect:localhost RELAY Connect:127.0.0.1 RELAY Connect:192.168.100 RELAY ---------------------------------- また、現在のメールサーバの設定(/etc/mail/sendmail.mc)は下記の通りとなっております。 /etc/mail/sendmail.mc ※先頭がdnlの行は省いてあります。 ---------------------------------- divert(-1)dnl include(`/usr/share/sendmail-cf/m4/cf.m4')dnl VERSIONID(`setup for linux')dnl OSTYPE(`linux')dnl define(`confDEF_USER_ID', ``8:12'')dnl define(`confTO_CONNECT', `1m')dnl define(`confTRY_NULL_MX_LIST', `True')dnl define(`confDONT_PROBE_INTERFACES', `True')dnl define(`PROCMAIL_MAILER_PATH', `/usr/bin/procmail')dnl define(`ALIAS_FILE', `/etc/aliases')dnl define(`STATUS_FILE', `/var/log/mail/statistics')dnl define(`UUCP_MAILER_MAX', `2000000')dnl define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl define(`confAUTH_OPTIONS', `A')dnl define(`confTO_IDENT', `0')dnl FEATURE(`no_default_msa', `dnl')dnl FEATURE(`smrsh', `/usr/sbin/smrsh')dnl FEATURE(`mailertable', `hash -o /etc/mail/mailertable.db')dnl FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')dnl FEATURE(redirect)dnl FEATURE(always_add_domain)dnl FEATURE(use_cw_file)dnl FEATURE(use_ct_file)dnl FEATURE(local_procmail, `', `procmail -t -Y -a $h -d $u')dnl FEATURE(`access_db', `hash -T<TMPF> -o /etc/mail/access.db')dnl FEATURE(`blacklist_recipients')dnl EXPOSED_USER(`root')dnl DAEMON_OPTIONS(`Port=smtp,Addr=192.168.10.10, Name=MTA')dnl FEATURE(`accept_unresolvable_domains')dnl LOCAL_DOMAIN(`localhost.localdomain')dnl MAILER(smtp)dnl MAILER(procmail)dnl ---------------------------------- ※host11.dom10.com(192.168.10.11/24) から   メールサーバhost10.dom10.com(192.168.10.10/24)を経由し、 host10.dom100.com(192.168.100.10/24) へのメール送信をして失敗している状態です。 ※pingは通ります。 ※DNSはbindで構成しており、MXレコードは問題なく取得できています。 長々と目を通していただき恐縮です。 accessファイル以外の原因はなにかありますでしょうか?