- PR -

sendmailでバーチャルドメインを使いたい

1
投稿者投稿内容
たぬ
会議室デビュー日: 2004/08/11
投稿数: 11
投稿日時: 2004-08-11 15:11
こんにちは。
始めて投稿します。
RedHat7.3でsendmail8.11.6を使っています。
これで、バーチャルドメイン宛にメールを送信したいのですが、
どうしても、うまくいきません。

例)元々のFQDN:aaa.bbb.or.jp
  バーチャルドメイン:ccc.ddd.jp

設定手順は、

 (1)sendmail.mcを
  FEATURE(`virtusertable',`hash /etc/mail/virtusertable.db')dnl
  とした。(コメントアウトをはずした)
 (2)virtusertableに
   info@ccc.ddd.jp mailtest@aaa.bbbccc.jp
  を記述した。(上のjpとmailtestの間はtabで空けています)
 (3)local-host-namesに
   ccc.ddd.jp
   を記述した。
 (4)makemap hash /etc/virtusertable < /etc/virtusertable
   を実行した
 (5)m4 /etc/mail/sendmail.mc > /etc/senmail.cf
   を実行した。
 (6)/sbin/service sendmail restart
   を実行した。

また、DNSサーバは別のところにありますが、MXの設定も済です。
もちろん、ローカルホスト(aaa.bbb.or.jp)上には、

 mailtest

ユーザは作成済です。

この結果、ローカルホストから、info@ccc.ddd.jp宛にメールを送信すると、

 stat=User unknown

という状況です。

また、sendmailをリスタートする前に

 /usr/sbin/sendmail -bt -C /etc/sendmail.cf
 で
 /parse info@ccc.ddd.jp
 を実行すると、
 mailer local, user info
 といった具合に、ユーザ「info」に送信しようとして、実際にある
 「mailtest」に送信しにいかない状況です。

いろいろとググってみたりして調べたのですが、原因が分かりません。

恐れ入りますが識者の方、ご教授の程よろしくお願いします。
はゆる
ぬし
会議室デビュー日: 2004/02/16
投稿数: 1008
お住まい・勤務地: 首都圏をウロウロと
投稿日時: 2004-08-11 17:22
こんにちは〜。

バーチャルドメインの機能を使うには、virtusertable の左側に記述されたホストの情報も設定しなければなりません。
/etc/mail/local-host-names に追記するか、VIRTUSER_DOMAIN または VIRTUSER_DOMAIN_FILE を使ってみましょう。
# どちらがいいかは、メールをどこでローカル配送するかによります
たぬ
会議室デビュー日: 2004/08/11
投稿数: 11
投稿日時: 2004-08-11 18:12
はゆる さん、ご返事いただきまして、ありがとうございます。

>/etc/mail/local-host-names に追記するか、VIRTUSER_DOMAIN または >VIRTUSER_DOMAIN_FILE を使ってみましょう。

とのことで、とりあえず、sendmail.mcに

 define(`confCW_FILE',`-o /etc/mail/local-host-names')dnl

を追加し、/etc/mail/local-host-namesにccc.ddd.jpをFQDNとして追記してみたのですが、
やはり、うまくいきません。

 Cwlocalhost.localdomain

が悪さをしているのかな?と思い、念のためこれをdnlでコメントアウトしてもみましたが、
結果は同じでした・・・

何が悪いのでしょうか?

度々で申し訳ございませんが、ご教授の程よろしくお願いします。
NeXT
大ベテラン
会議室デビュー日: 2004/04/06
投稿数: 215
お住まい・勤務地: 江戸
投稿日時: 2004-08-11 20:20
> (1)sendmail.mcを
>  FEATURE(`virtusertable',`hash /etc/mail/virtusertable.db')dnl
>  とした。(コメントアウトをはずした)



> (4)makemap hash /etc/virtusertable < /etc/virtusertable
>   を実行した

で,virtusertable のパスが違うんですが,大丈夫でしょうか。
シンボリックリンクでしたっけ?
素のままの RedHatLinux 7.3 マシンが手元にないので確認できないんですが。

sendmail.mc にあわせるのでしたら /etc/mail 下に virtusertable を
作成し

# cd /etc/mail
# makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable

としたらどうでしょうか。

各ファイルの記述方法については以前の
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?mode=viewtopic&topic=13233&forum=10&start=0
あたりからたどれるサイトを参考にしてみてください。
はゆる
ぬし
会議室デビュー日: 2004/02/16
投稿数: 1008
お住まい・勤務地: 首都圏をウロウロと
投稿日時: 2004-08-12 11:29
こんにちは。

あれれ、

引用:

たぬさんの書き込み (2004-08-11 15:11) より:
 (3)local-host-namesに
   ccc.ddd.jp
   を記述した。


の local-host-names は、/etc/local-host-names だったのでしょうか?
だとしたらすいません、そちらに記述してください。(^^;
# sendmail.mc に追記した部分は削除して、cf を作り直してくださいね。

NeXT さんのご指摘されている部分も気になるところですが…
たぬ
会議室デビュー日: 2004/08/11
投稿数: 11
投稿日時: 2004-08-12 14:37
Next さん,はゆる さん、ご教示いただき、ありがとうございます。

自己解決しました。

ご指摘いただいた、「/etc/local-host-names」は「、/etc/mail/local-host-names」の
間違いでした。
後者に書き込み、hashを実行していました。

問題になっていたのは、MXの設定でした。

すでに本番環境で動かしているサーバだったので、DNSサーバ管理者と相談しもって、
試験をしていたのですが、ドメインを「仮のもの」を発行して、内部的にのみ見える
ように設定したまではよかったのですが、localhost宛への配送なんで、localhostからは
nslookupで引けなくてもいいでしょう、という設定にしていました。

これをlocalhostからも引けるようにしたところ、解決しました。

ありがとうございました。

今後ともよろしくお願いします。

1

スキルアップ/キャリアアップ(JOB@IT)