• 締切済み

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サーバーに統合されますので、現在の問題は 解決するかと思いますが、移行までは何とか凌ぎたいです。 よろしくお願いします。

みんなの回答

回答No.2

> /usr/sbin/sendmail がメールを送信するとき、qmailの設定を見て判断しているのでしょうか。 qmailをインストールすると、/usr/sbin/sendmail や /usr/lib/sendmail は sendmailオリジナルのものでなく /usr/bin/qmail/sendmail へのシンボリックリンクファイルになります。

jennifer0hewitt
質問者

補足

何度も済みません。この辺りは私も疑っていて見ていましたが、 再度確認すると、以下のようでした。 [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を使っているのではないな…と思っていたんですが、違うのでしょうか。

回答No.1

Bサーバーのqmailの設定ファイルディレクトリ(/var/qmail/control/)にあるいくつかのファイルに 「自分はhoge.comのメールを受け取れるよ」的なことを書いてあるはずなので その記述を削除するなりコメントアウトすればよいはずです。 詳しくはqmailの設定ファイルのマニュアルを参考されてください。

jennifer0hewitt
質問者

補足

ご回答ありがとうございました。 以下の設定を確認してみました。 # 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につながるような設定が見当たらなかったもので、 再度質問させていただきました。

関連するQ&A

  • sendmailで特定ドメインに送信できない

    さくらのクラウドでCentOS5を利用しています。 先日ストレージの障害が発生し、サーバーの再起動が発生したのですが、 その後、sendmailで特定ドメイン*@hoge.comにメールが送信できなくなり、 rootにメールが送信されるようになってしまいました。 hoge.comは自分の運営するWebサイト(同じサーバー)のドメイン(Aレコード)で、 メール(MXレコード)はGoogleAppsのGMailを使用しています。 sendmailの設定は初期状態のままです。 これまでは問題なく運用できていました。 MXレコードはnslookupでもgoogleに向いていることを確認しました。 Yahoo!などの別のアドレスや、異なるドメインのGoogleAppsへは問題なくsendmailできますし、 別のサーバーからは*@hoge.comにsendmail可能です。 $ sendmail -v hoge@hoge.com < /dev/null でテストメールをすると、一件問題なく送信したかのように処理が表示されますが、 maillogを確認すると、 Jan 8 22:42:47 *** sendmail[24564]: ***24564: from=root, size=0, class=0, nrcpts=1, msgid=<201201081342.***24564@hoge.com>, relay=root@localhost Jan 8 22:42:47 *** sendmail[24567]: ***24567: from=<root@hoge.com>, size=261, class=0, nrcpts=1, msgid=<201201081342.***24564@hoge.com>, proto=ESMTP, daemon=MTA, relay=hoge.com [127.0.0.1] Jan 8 22:42:47 *** sendmail[24564]: ***24564: to=hoge@hoge.com, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30000, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (***24567 Message accepted for delivery) Jan 8 22:42:47 *** sendmail[24568]: ***24567: to=root, ctladdr=<root@hoge.com> (0/0), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30455, dsn=2.0.0, stat=Sent のようになっており、なぜか最後にto=rootになってしまっています。 おそらくサーバーの再起動時に、なんだかの設定が切り替わったせいだと思いますが、 原因がわからず、どこを設定すれば良いのか困っています。 気になる点 ・逆引きホストを、hoge.comにしています。 ・仮想サーバーのホストネームをhoge.comにしています。 ご教授頂ければ幸いです。よろしくお願いいたします。

  • sendmail 送信設定について

    メールサーバを外に立てました。ローカルのsendmailを送信だけに使いたいのですが、外部ドメインに対しての送信は正常に行えます。ただ、自分のドメイン宛てにメールを送ると、外部のメールサーバに届かず、ローカルマシンにメールが届いてしまいます。 これは、何処の設定を直せば、正しく外部のメールサーバ向けにメールが届くようになるのでしょうか。 /etc/mail/ sendmail.mc の、 Dmhogehoge.com や LOCAL_DOMAIN(`hogehoge.com')dnl を別の名前にしてもうまくいきませんでした。 すみませんが、教えてください、

  • sendmailからqmail:CGIから送れない

    こんばんわ。 sendmailコマンド置換えについてです。 OS:Fedora7 メールサーバー:qmailとdovecot vpopなど使ってます。 メールサーバーについては、 バーチャルでもローカルからは送受信出来てます。 cgiがユーザーさんがHPのcgiからメールを送って来ると、 内容を自動返信するような感じのcgiですが。 テストでやってみても。 ローカルの受信すら来ない状態です。 もちろん、自動返信で返っても来ません。 以下をしました。 chmod 0 /usr/lib/sendmail chmod 0 /usr/sbin/sendmail mv /usr/lib/sendmail /usr/lib/sendmail.bak mv /usr/sbin/sendmail /usr/sbin/sendmail.bak ln -s /var/qmail/bin/sendmail /usr/lib/sendmail ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail apacheのエラーは、 sh: /usr/sbin/sendmail: Permission denied, referer: http://www.hogehoge.com/cgi-bin/test.cgi Permission関係でしょうか? sendmailをls -lで調べると lrwxrwxrwx 1 root root 23 Jun 5 19:05 /usr/sbin/sendmail -> /var/qmail/bin/sendmail です。 その他調べる箇所ありますでしょうか? 後・・・ 私のサーバーでは、 newaliases とすると・・・ bash: /usr/bin/newaliases: Permission denied になります。 パーミッションは777のroot rootになってます。 宜しくお願いします。

  • sendmailで特定ドメインに対して送信ができません。

    サーバ設定初心者です。 sendmailで特定ドメインに対して送信エラーが出てしまいます。 エラーメッセージ:554 mailfrom without country or top level domain is administratively denied nslookupで特定ドメインに対しての名前解決はできているのは確認しました。 テストでフリーメールへ送ってみたのですが、そちらへは送信ができます。(gmailやyahoomailへは送信可能) sendmailの設定を調べてみたのですが、エラーの内容は分かりません。 どなたかご存知の方がおられたらエラー内容と解決方法をご教授いただけないでしょうか?

  • メールが送信できない(sendmail)

    CGIにてsendmailを送信したいのですが、送信されなくなってしまいました。 以前、同じCGIでメールを送信できていたので、原因はsendmail自体にあると考えています。 OSはCentOS5です。 sendmailの仕組みもよく分からないので、皆さんのお知恵をお借りしたいのです。 # /etc/init.d/sendmail status sendmail is stopped sendmailを起動しようとすると # /etc/init.d/sendmail start Starting sendmail: sendmail: usage: sendmail [ -t ] [ -fsender ] [ -Fname ] [ -bp ] [ -bs ] [ arg ... ] [FAILED] となり、起動できません。 qmailにてsendmailを動かしているのかと思い、以下を実行しました。 # which sendmail /usr/sbin/sendmail # rpm -qf /usr/sbin/sendmail sendmail-8.13.8-2.el5 psa-qmail-1.03-cos5.build84080425.19 # ls -l /usr/sbin/sendmail lrwxrwxrwx 1 root root 21 Feb 7 2008 /usr/sbin/sendmail -> /etc/alternatives/mta # ll /etc/alternatives/mta lrwxrwxrwx 1 root root 23 Jun 9 2008 /etc/alternatives/mta -> /var/qmail/bin/sendmail # ll /var/qmail/bin/sendmail -r-xr-xr-x 1 root qmail 10804 Apr 25 2008 /var/qmail/bin/sendmail この後何が必要なのかが分かりません。 今、調べたものも解決に役立つか分からない状況です。 よろしくお願い致します。

  • sendmailで送信先ドメインで制限

    こんにちは。 sendmail8.14.1の設定で質問があります。 現在インストールを完了し、中継するドメインの設定を行っています。 sendmail.mcファイルとaccessファイル編集後は必ずm4とmakemap、そしてsendmailの再起動を行っています。 mcファイル中には以下の記述を追加しています。 FEATURE(`access_db',`hash-T<TMPF> /etc/mail/accesss')dnl FEATURE(`relay_mail_from')dnl accessファイル中に以下の記述をしています。 localhost.localdomain RELAY 127.0.0.1 RELAY hoge-net.com RELAY この状態では宛先ドメインhoge-net.comのみが中継、ほかのドメインを宛先にした場合は転送されず、望む通りの結果になっています。 次に送信元IPアドレスでの制限を加えようと、accessファイルを以下のように変更しました。 localhost.localdomain RELAY 127.0.0.1 RELAY hoge-net.com RELAY 192.168.0.2        RELAY 192.168.0         REJECT 192.168.0.2からのみメール送信を許可し、他のクライアントからは接続を拒否する狙いです。 この状態で192.168.0.3からのアクセスは拒否され、0.2からは送信可能でした。 しかし同時に0.2からの送信において、hoge-net.com以外の宛先でも中継されるようになってしまいました。 0.2からの送信においても、宛先hoge-net.comのみ許可する、という設定はできないのでしょうか?

  • 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?の設定は全くしていません。 もしかして必要なのでしょうか。。。

  • 特定ドメインから送信されるメールのみ受け取るには(qmail)

    turbolinux 10、qmailでメールサーバを構築しています。 初心者のため説明が不十分かもしれませんので、補足要求していただければと思います。 説明上、 ホスト名:hogehoge.hogenet.com とします。 /var/qmail/alias 以下に、 .qmail-ml1 .qmail-ml2 .qmail-ml3 ・・・ という具合にエイリアスを作り、これらをメーリングリストとしています。 最近スパムメールが多くなってきたので、hogenet.comドメインから送信されてくるメールだけ受け取り他は破棄する、という設定をすることは可能でしょうか? ただし全てのMLに対してではなく、ml1@hogehoge.hogenet.comのみに設定したいと考えているのですが… ご教授いただけますと幸いです。

  • sendmailでメールが送信されない。

    こんにちは。 自動応答メールフォームのCGI「ThemeResMail」というのを 使っているのですが、うまく動作しません。 このcgiをアップしたのは以下のレンタルサーバーです。 http://www.dot5hosting.com/dot5/ 使用しているcgiはこれです。 http://apps.cside.com/theme/tmresmail/ メール送信完了画面は出るのですが、 送信者、あて先共にメールが届きません。 同じ設定で他のサーバー(xrea)ではうまくいきました。 sendmailとperlのパスは調べた所、間違いないようです。 ■dot5でのパス sendmail /usr/sbin/sendmail Perl /usr/bin/perl 何が原因なのかどんな事でも結構ですのでコメント頂けると助かります。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • 1つのサーバで複数のドメイン管理

    AWS EC2を使ってウェブサーバを構築し、CakePHPをインストールしてウェブサイトを実装しております。 すでにドメインを2つ取得しており、それぞれのドメインでアクセスした際に、同じディレクトリにある2つのコントローラをそれぞれ実行させてページを表示させたいと思っております。 ドメイン(例) hoge.com fuga.com コントローラ(例) /lib/app/controllers/hoge_controller.php /lib/app/controllers/fuga_controller.php hoge.comに対しては、 routes.phpで Router::connect('/', array('controller' => 'hoge', 'action' => 'index')); と設定して hoge.comでアクセスした際にhogeコントローラのindexアクションが実行されるようにできましたが、この状態を維持しつつfuga.comでアクセスした際にfugaコントローラのindexアクションが実行されるようにできればと思っております。 cakephpやサーバの設定等は自由に行える環境ですので、cakephpのrouterやサーバのバーチャルホストの設定等で実現できますでしょうか。 お分かりいただける方いらっしゃいましたら、ご教授いただけますと幸いです。 以上、よろしくお願い致します。

    • ベストアンサー
    • PHP