- 締切済み
sendmailで特定ドメインに送信できない
いつもお世話になってます。 ・Aサーバー(192.168.65.170) ・Bサーバー(192.168.13.38) が存在し、両方にqmail、vpopmailがインストールされています。 このたび、AサーバーからBサーバーに移行を予定しておりますが、 現在はAサーバーのqmailが、fuga@hoge.comのSMTPを行っています。 そこで、BサーバーのPHPからメールを送信する際、他のドメインでは 正常に配信されますが、hoge.comへの配信ができません。 試しに、Bサーバーのsendmailコマンドがら実行してみました。 ◎届く echo "test" | /usr/sbin/sendmail -t -i fuga@domain.com ×届かない echo "test" | /usr/sbin/sendmail -t -i fuga@hoge.com maillogを確認したところ、どうやらBサーバーがローカルに配信して いるらしく、Aサーバーに配信していないようです。 (実際はvpopの設定が不完全で、ローカルでボックスに入らずに どこかに消えたか貯まっている模様) コマンドで以下の確認も行いましたが、正常にAサーバーに 向いています。 ◎正常 [www@B ~]$ nslookup mail.hoge.com Server: 192.168.65.153 Address: 192.168.65.153#53 Name: mail.hoge.com Address: 192.168.65.170 ◎正常 [www@B ~]$ telnet mail.hoge.com smtp Trying 192.168.65.170... Connected to mail.hoge.com (192.168.65.170). Escape character is '^]'. 220 mail.hoge.com ESMTP そこで質問ですが、BからAに配送するには ・sendmailコマンドの設定 ・qmailの設定 ・/etc/resolv.confの設定 あたりを変えれば良いのかな、と思ってはいるものの、 どこをどう変更すれば良いのか、ご教示ください。 補足: 負荷分散環境だったりと、実際はもう少し混み入って いますが、このあたりのレジュメはひとまずは不要かと 思い、入れておりません。 IP、ドメインは架空のものですが、A、Bが内部で繋がって いるのは同じです。セグメントの違いも問題ありません。 最終的にはBサーバーに統合されますので、現在の問題は 解決するかと思いますが、移行までは何とか凌ぎたいです。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- superside0
- ベストアンサー率64% (461/711)
> /usr/sbin/sendmail がメールを送信するとき、qmailの設定を見て判断しているのでしょうか。 qmailをインストールすると、/usr/sbin/sendmail や /usr/lib/sendmail は sendmailオリジナルのものでなく /usr/bin/qmail/sendmail へのシンボリックリンクファイルになります。
- superside0
- ベストアンサー率64% (461/711)
Bサーバーのqmailの設定ファイルディレクトリ(/var/qmail/control/)にあるいくつかのファイルに 「自分はhoge.comのメールを受け取れるよ」的なことを書いてあるはずなので その記述を削除するなりコメントアウトすればよいはずです。 詳しくはqmailの設定ファイルのマニュアルを参考されてください。
補足
ご回答ありがとうございました。 以下の設定を確認してみました。 # cd /var/qmail/control/ # cat defaultdomain hoge.com # cat me mail.hoge.com # cat locals localhost hogehoge.ne.jp # cat virtualdomains hoge.com:hoge.com # cat plusdomain hoge.com たしかに、hoge.com が記載されています。 これらを消せば問題ないとのことですが、 (PHPあるいはシェルで) /usr/sbin/sendmail がメールを送信するとき、qmailの設定を 見て判断しているのでしょうか。 『そういうもの』、であれば問題ないのですが… sendmailからqmailにつながるような設定が見当たらなかったもので、 再度質問させていただきました。
補足
何度も済みません。この辺りは私も疑っていて見ていましたが、 再度確認すると、以下のようでした。 [root@B /]# cd /usr/sbin/ [root@B sbin]# ls -al | grep sendmail lrwxrwxrwx 1 root root 21 5月 26 11:16 sendmail -> /etc/alternatives/mta -rwxr-sr-x 1 root smmsp 806460 1月 22 2010 sendmail.sendmail [root@B sbin]# cd /etc/alternatives/ [root@B alternatives]# ls -al | grep mta lrwxrwxrwx 1 root root 27 5月 27 16:11 mta -> /usr/sbin/sendmail.sendmail lrwxrwxrwx 1 root root 41 5月 27 16:11 mta-aliasesman -> /usr/share/man/man5/aliases.sendmail.5.gz lrwxrwxrwx 1 root root 23 5月 27 16:11 mta-mailq -> /usr/bin/mailq.sendmail lrwxrwxrwx 1 root root 39 5月 27 16:11 mta-mailqman -> /usr/share/man/man1/mailq.sendmail.1.gz lrwxrwxrwx 1 root root 28 5月 27 16:11 mta-newaliases -> /usr/bin/newaliases.sendmail lrwxrwxrwx 1 root root 44 5月 27 16:11 mta-newaliasesman -> /usr/share/man/man1/newaliases.sendmail.1.gz lrwxrwxrwx 1 root root 24 5月 27 16:11 mta-pam -> /etc/pam.d/smtp.sendmail lrwxrwxrwx 1 root root 23 5月 27 16:11 mta-rmail -> /usr/bin/rmail.sendmail lrwxrwxrwx 1 root root 26 5月 27 16:11 mta-sendmail -> /usr/lib/sendmail.sendmail lrwxrwxrwx 1 root root 42 5月 27 16:11 mta-sendmailman -> /usr/share/man/man8/sendmail.sendmail.8.gz [root@B alternatives]# [root@B ~]# update-alternatives --display mta mta - ステータスは手動です。 リンクは現在 /usr/sbin/sendmail.sendmail を指しています。 /usr/sbin/sendmail.sendmail - 優先項目 90 スレーブ mta-mailq: /usr/bin/mailq.sendmail スレーブ mta-newaliases: /usr/bin/newaliases.sendmail スレーブ mta-rmail: /usr/bin/rmail.sendmail スレーブ mta-sendmail: /usr/lib/sendmail.sendmail スレーブ mta-pam: /etc/pam.d/smtp.sendmail スレーブ mta-sendmailman: /usr/share/man/man8/sendmail.sendmail.8.gz スレーブ mta-mailqman: /usr/share/man/man1/mailq.sendmail.1.gz スレーブ mta-newaliasesman: /usr/share/man/man1/newaliases.sendmail.1.gz スレーブ mta-aliasesman: /usr/share/man/man5/aliases.sendmail.5.gz 現在の「最適」バージョンは /usr/sbin/sendmail.sendmail です。 これはqmailを使っているのではないな…と思っていたんですが、違うのでしょうか。