• 締切済み

Sendmailの設定について

こんにちは。sendmailをどのように変更すべきか教えていただきたいのですが、うまく説明できるか少し自信がないのですが、経緯を含めて説明します。 (環境:CentOS Linux 4.6 Sendmail version 8.13.1) ■以前 元々あるサイト(example.com)を運営しており、example.comドメインでメールの送受信もできていました。 この時点で、example.comサイト上のフォームからphpのmailコマンドで、example@example.comにメールを送信すれば、メーラーで受信ができました。 ■現在 今回、google appsを導入してDNSなどを変更し、example.comでのメール送受信は元のサーバではなく、google経由で送受信するようにしました。 これによって1つ問題が生じています。 1.【OK】メーラーによって別ドメイン aaaaaa@aaaaaaa.com から example@example.com への送信 →(その逆もOK) 2.【OK】example.comサイト上のフォームから別ドメイン aaaaaa@aaaaaaa.com への送信 3.【問題】example.comサイト上のフォームから同ドメイン example@example.comへの送信 →【appsで受信できない】※ただし、sendmailのユーザーメールボックスには入っている。 このように、3つ目のケースで受信できないという現象が起きています。 フォームのmailコマンドを実行すると、サーバー内から送信し、外(google apps)へメールが行かずに内部で受け取ってしまう感じです。 これは、sendmailが送る際に、DNSでgoogle appsに飛ばすと認識していないのだろうと思いますが、どうやったら設定できるのかが皆目検討がつきません。最初はqdsmtp(http://hal456.net/qdsmtp/)を入れてフォームの送信方法を変えようと思ったのですが、ssl通信ができない様でやっておりません。 どのようにすればよいのか、詳しく教えていただけると嬉しいです。 宜しくお願いします。 (※当方あまりこのような設定に詳しい方では無いため、私の操作するsendmailの設定画面のスクリーンショットを添付しますのでGUIでの変更方法で教えていただけると大変助かります。)

みんなの回答

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

Fwは通常、/etc/mail/local-host-namesです。 このファイルに、ローカルとして受け取るドメイン名を書きます。 ここに、example.comと記述されている可能性があります。 apacheは、httpd.confのServerNameで設定されていると思います。 /etc/sysconfig/networkの変更が、他の何に影響を及ぼすかが不明な場合には 変更をしない方が良いでしょう。 その場合には、sendmailの設定でCw等を変更した方が楽かもしれません。

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

該当マシンのドメイン名はどうなっていますか? /etc/sysconfig/networkのHOSTNAMEがsendmailではドメイン名とみなされます。 また、Fwで指定したファイル(通常は local-host-names)も関係します。 HOSTNAMEが、example.comになっているのであれば HOSTNAMEを別の物にする(例:mail.example.com)または Fwの指定で別の物にすれば、大丈夫かと思われます。

doomdoom
質問者

お礼

ありがとうございます。 該当マシンのドメイン名は同じくexample.comです。 /etc/sysconfig/networkのHOSTNAME を調べましたが、やはりexample.comと記述されていました。 しかしウェブサイトを開く時の設定もexample.comになっているのですが、 変えてしまって問題ない箇所なのでしょうか・・・? また、申し訳ありませんが「Fwの指定で別の物にすれば」という件について、更に詳しくご教示いただけますと幸いです(私も調べてみます)。

  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.3

> sendmailオプションでは「SMTP port option」というものがあり、 > Name=MTA Port=submission, Name=MSA, M=Ea それは、sendmail の待ち受けポートの設定です。 たとえば、出先などからメールを送信したい場合、 そこで使っているプロバイダは、迷惑メール対策から、 example@example.com などの「Fromが他のドメインからのメール」は受け付けないようになっているのが普通です。 そこで、example.com として運用しているメールサーバ側で、 「From: が example.com のメールを外部から接続を受け付けて、 中継してメールを送信する」ようにします。 それを、ただ単に中継を受け付けるだけだと、迷惑メールが中継されてしまう可能性がありますので、 ポート25: 自ドメイン宛のメール受信専用。認証無し。 ポート587(サブミッションポート): 他ドメイン宛メールの転送も受け付ける。認証有り。 という2つのポートを使い分けます。 この「中継専用」の待ち受けがそれがサブミッションポートです。 今回は、Google Apps の方で自ドメインメールの送信ができるようになっているわけですから、 サブミッションポートの設定は不要でしょう。

  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.2

> 「example.com へのメールのほかに、sendmail は(以下略) もしその通りに表示されているのだとしたら、 システム的に「自分自身はexample.com に属する」という設定になっているかのように見受けられます。 (だからexample.com宛のメールを受け取るのは当然の状況として、それ以外のメールを受け取るドメインを、ローカルドメインで追加指定する形になる) /etc/resolv.conf の設定を確認してみてください。

doomdoom
質問者

お礼

ありがとうございます。 /etc/resolv.confがどこにあるのかすぐにわからず、調べてみようと思います。 なお、話はずれてしまいますが、 sendmailオプションでは「SMTP port option」というものがあり、 Name=MTA Port=submission, Name=MSA, M=Ea という記載があります。 もしかするとここを何かgmailに関係する内容に変更すれば良いのでしょうか?見当違いでしたらすみません。

doomdoom
質問者

補足

6月2日16時42分 こんにちは。先日ヒントをいただきました、 /etc/resolv.confを調べてみました所、 IPアドレスとlocaldomain という記載がありました。 ―――――――――――――― nameserver XXX.XXX.XXX.X nameserver XXX.XXX.XXX.X search localdomain ―――――――――――――― このlocaldomainがメール送信時に邪魔になっているのでしょうか・・・? 消してしまって構わないのでしょうか。 ちょっと調べてみますが、お分かりでしたらご助言いただけますと嬉しいです(恐縮です)。

  • 774danger
  • ベストアンサー率53% (1010/1877)
回答No.1

sendmailの設定のローカルドメインの中にexample.comが残っていませんか? sendmail側で、example.com宛を受け取らないようにしないとダメでしょう

doomdoom
質問者

お礼

ありがとうございます。 Sendmail設定の「ローカル ドメイン (Cw)」というメニューを調べたところ、 「example.com へのメールのほかに、sendmail は左のテキストボックスにリストされているドメインとホスト名へのローカル配信メールのみを受け付けます。メール サーバが複数の E メールドメインを処理するには、それらのドメインがここにリストされている必要があります。 通常は、リストにドメインを含んでいるだけでは十分でないことに注意してください。このドメインの DNSレコードが存在し、システムを指していることを確認する必要があります。 」 と記載されており、↓こちらが設定されてました。 localhost localhost.localdomain ためしにこの記述を削除してみたのですが、状況は変わりませんでした…

関連するQ&A

  • sendmail.mcでの設定について

    RedHat 7.3でsendmail-8.11.6-25.73を使用し、 メールサーバを構築しています。 サーバの自ドメインに対して"ユーザ名"のみでも送信できるよう設定しているのですが、 受信メールをみると@の後ろにホスト名がついてしまいます。 (例. "○○"で送信した場合"○○@mail.***.com"と表示される) これを"○○@***.com"といったように、 ホスト名なしのドメイン名だけ付与するには、 どのような設定をしたら良いでしょうか? わかる方教えてください!!

  • sendmailでのctladdrの変更

    linux(centos5)にてメールサーバとしてsendmailを利用しています。 プログラム(perl)からメールを送信した時のctladdrについて教えてください。 メールログ(受信時のメールのヘッダーも同じ)を見るとctladdr(メールのヘッダーの場合received)がメールサーバ名になりますが、これを送信者ドメインに変えることはできるのでしょうか。 プログラムから制御できるものなのか、sendmailの設定なのか、DNSのMXが優先されるのか(現状MXのホスト名になる) 送信メールアドレスがinfo@example.comの場合ctladdrもexample.comとしたい。 解決方法を教えてください。

  • sendmailの設定

    sendmailの挙動で困っております。。。 Webサーバにメールフォームを作成しており、 そのフォームからメール送信するようにしております。 他ドメイン宛のメールはちゃんと送ることはできますが、 自ドメイン宛のメールは当方のメールサーバに送られずになぜか、 送信元のWebサーバで受信してしまいます。(自分自身) Webサーバはsendmailを使っているのですが、自ドメイン宛のメールは Webサーバ上で受けずにメールサーバで受ける必要があるので、local-host-namesは書いておりません。。。 local-host-namesを書いていないので、 自分宛とは判断せずにMXレコードを引いて当社メールサーバ宛てに 来るものと思っていたのですがなぜでしょうか? sendmailで受取るドメインを設定するのは他にも あるのでしょうか?

  • sendmailで使える記号

    こんにちは。 sendmailでメールの送信を行っています。 RFCの規定上は ! # $ % & ' * + - / = ? ^ _ ` { | } ~ などの記号が使用可能だと分かりました。 しかし上記の一部の記号が入っていると、メールの送信が出来ません。 コマンドラインより、 ------------------------------------ sendmail !#$%&'*+-/=?^_`.{|}~@ example.com From :test@ example.com To :!#$%&'*+-/=?^_`.{|}~@ example.com     ・     ・     ・ ------------------------------------ という形で試しましたが、実行されませんでした。 (表示上、@の後ろにスペースを入れています) sendmailで上記記号を使用可能にするには、何か設定が必要なのでしょうか? よろしくお願いいたします。

  • sendmail 8.12.2の設定

    環境: Solaris 9(SPARC) sendmail 8.12.2 メールHUBにメールを送信するためsendmailの 設定をしております。 動作としては 自サーバからメールをhubに送信して、外に出して もらい、受信は一切行わないといった内容です。 メールが飛ぶとこまでの確認はしました。 /etc/hostsに以下をエントリ smtpサーバipアドレス #tab #tab smtp-server 次に /usr/lib/mail/cf/sendmail.mc を修正 -------------------------------------------- divert(0)dnl VERSIONID(`@(#)main.mc 1.5 (Sun) 08/10/00') OSTYPE(`solaris8')dnl define(`MAIL_SETTING_DIR',`/etc/mail/')dnl Dwホスト名 Dmドメイン名 define(`confDOMAIN_NAME',`$w.$m')dnl FEATURE(`accept_unresolvable_domains') define(`SMART_HOST',`smtp:smtp-server')dnl MASQUERADE_AS(`$m')dnl FEATURE(`masquerade_envelope')dnl DOMAIN(`solaris-generic')dnl MAILER(`local')dnl MAILER(`smtp')dnl -------------------------------------------- # make sendmail.cf # cp sendmail.cf /etc/mail # pkill -HUP sendmail # mailx メールアドレス subject aa bb . EOL この設定でメールは届きます。 ここからが質問なのですが、マスカレードを設定 したはずなのに、送信者のアドレスが root@ホスト名.ドメイン名 のままで届きます。 これを指定したアドレスにしたいのですがどのように 設定すればよろしいでしょうか? root@ホスト名.ドメイン名 → test@ドメイン名

  • sendmail.defの設定・・・

    CFのsendmail.defの設定ですが、現在、 MY_DOMAIN=domain.com MY_NAME=mails OFFICIAL_NAME='$w.$m' MY_ALIAS=m2srv.domain.com      ↑例 のようにして、「ユーザー名@m2srv.domain.com」 および 「ユーザー名@mails.domain.com」 で送られてきたメールを受信できるようにしています。 しかし、メーラーで受信すると、両方ともToが@mails.domain.com に書き換えられてしまいます。 defの設定で、どのように設定すれば、Toが別々に表示できるでしょうか? ちょっとわかりにくい質問かも知れませんが、よろしくお願いします。 なお、CFのバージョンは3.7Wです。

  • SENDMAILリレー設定

    私はRedhatlinux7.3を使ってSENDMAILでサーバを立ててみようと思っております。 SENDMAILのバージョンは8.11.6です。インストールそのままです。 POPにつきましては、POP3を起動させることができ、受信はうまくいきました。 SMTPにつきましては特にSENDMAILの設定をせずメールを送ってみると以下のようなメッセージが出てきました。 550 5.7.1 <user@domain.jp> Relaying denied. IP name lookup failed [192.168.0.11] これはIPアドレスが許可されていないのだと思z、/etc/mail/relay-domainsに192.168.0を入れて見ると送信が可能になりました。 実は私がやりたいことはまったく他のネットワークからこのSMTPを使いたいと考えております。もちろんIPは決まっておりません。 送信者のアドレスが特定ドメインのメールのみSMTPリレーをしたいと思っているのですがどのような設定をすれば良いのかをご教授していただければと思います。また、バーチャルドメイン環境も作成してみたいと思ってます。 現在のところrelay-domainsを空欄にしてaccessにリレーしたいドメイン RELAYと設定してみましたが同様のエラーがきました。

  • sendmail 送信設定について

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

  • sendmailでメールの送信が遅いんです。

    sendmailでメールサーバを作ってみました(DNSも)。ところがメールの受信は1秒もかからないのですが送信は約7秒くらいかかってしまいます。送信しているメールにはもちろん内容はありません。自分自身に送っても外部ドメインに送っても遅いです。(メールはちゃんと送受信できます。)こんなものなのでしょうか?

  • Mail::Sendmailの使い方

    お世話になっております。 先日よりsendmailの調子がおかしくていろいろ調べているのですが煮詰まってしまったので詳しい方々にご教授頂きたいと思います。 先日よりMovable Type(CMS)でのメール送信のシステムが機能しなくなり、いろいろ調べているとサーバーのsendmailはきちんと機能しているのですが、perlのモジュールMail::Sendmailがうまく作動していないようなのです。 perlでは、 open (SENDMAIL, "/usr/lib/sendmail -t -i"); (中省略) close(SENDMAIL); という原始的な方法ではメールが送信されるのですが、 use Mail::Sendmail;という使い方では、エラーにはなりませんがずっと読み込み中…状態が続いてメールが送信されませんでした。 Movable TypeでもMail::Sendmailが利用されていますのでここが原因かと思いますが、Mail::Sendmailを使用するにあたって注意すべきこと、または設定すべきことはどのようなことがあるでしょうか?さしあたりどこをチェックしてよいのかわからなくて困っています。 よろしくお願いします。 Mail::Sendmailを利用して作成したスクリプトは以下のようなものです。 #!/usr/bin/perl use strict; use warnings; use Mail::Sendmail; use Encode; use utf8; my $subject = "テスト"; my $message = "テストです。ほげほげ。"; $subject = encode("MIME-Header-ISO_2022_JP", $subject); $message = encode("iso-2022-jp", $message); my %mail = ( "Content-Type" => 'text/plain; charset="iso-2022-jp"', To => 'to@example.com', From => 'from@example.com', Subject => $subject, Message => $message, ); sendmail(%mail); exit;

    • ベストアンサー
    • Perl