お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2010-01-12 11:26:05

oosamuuy
メンバ
登録日: 2009-03-09

メール送信時の名前解決

お世話になっております。先日よりUbunutuの中身をいろいろと設定して混乱しております。ちょっと長くなるのですが、わかる方がいましたらご教授願います。
ちょっと前にpostfixの設定をしようと思いインストール&設定をしたのですが、認証関連でなかなか思い通りにうごいてくれなったのでとりあえずsendmailに戻そうとしたところからいろいろとおかしなことになってしまいました。
 現在は、再インストールしなおしてクリーンな状態です。MTAはsendmailが設定されていて、メールの送信ができる状態なのですが、名前解決がうまくいきません。名前解決の方法は、
/etc/hosts
/etc/resolv.conf
DNSサーバーはLAN内の別のマシンに設定してある
という感じです。
 example.comというオリジナルのドメインを設定してあるのですが、例えばrootからメールを送信すると[email protected]ではなく、root@hostnameという風にサーバー内で設定したホスト名になってしまい、名前解決ができない状態です。hostnameをexample.comに変換してやればいいと思っている次第ですが、/etc/hostsファイルに、
127.0.0.1 example.com
を加えたり、いろいろやっていますが解決に至っていない状態です。

 どういうわけか、コマンドやスクリプトからメールを送信してみると、自分のGmailには届きます。(aliasesの設定をしているからでしょうか?)しかし、携帯メールやその他の外部のメールには届きません。
 やりたい設定としては、コマンドライン及びスクリプト(PHPやPerl、bash)からメールが送信できるという設定です。


ログでも名前解決のメッセージが出てます。

【ユーザーから送信した時】myuserから[email protected]に送信した時

Jan 12 10:18:42 hostname sm-mta[22449]: o0C1IfPf022447: to=<[email protected]>, ctladdr=<[email protected]> (1000/1000), delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=150540, relay=gmail-smtp-in.m.google.com. [209.85.221.10], dsn=2.0.0, stat=Sent (OK 1263259122 10si51202427pzk.50)
Jan 12 10:18:42 hostname sm-mta[22449]: o0C1IfPf022447: o0C1IgPf022449: DSN: Service unavailable
Jan 12 10:18:42 hostname sm-mta[22449]: o0C1IgPf022449: to=<[email protected]>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30000, dsn=2.0.0, stat=Sent

その他、名前解決まわりでは、以下のようなログも出てきます。

Jan 12 10:57:07 hostname sendmail[2744]: unable to qualify my own domain name (hostname) -- using short name
Jan 12 10:57:07 hostname sendmail[2744]: o0C1v7Pg002744: from=myuser, size=49, class=0, nrcpts=1, msgid=<201001120157.o0C1v7Pg002744@hostname>, relay=myuser@localhost
Jan 12 10:57:07 hostname sm-mta[2781]: o0C1v7Gg002781: from=<myuser@hostname>, size=302, class=0, nrcpts=1, msgid=<201001120157.o0C1v7Pg002744@hostname>, proto=ESMTP, daemon=MTA-v4, relay=hostname [127.0.0.1]
Jan 12 10:57:07 hostname sendmail[2744]: o0C1v7Pg002744: [email protected], ctladdr=myuser (1000/1000), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30049, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (o0C1v7Gg002781 Message accepted for delivery)
Jan 12 10:57:09 hostname sm-mta[2783]: o0C1v7Gg002781: to=<[email protected]>, ctladdr=<myuser@hostname> (1000/1000), delay=00:00:02, xdelay=00:00:02, mailer=esmtp, pri=120302, relay=gmail-smtp-in.m.google.com. [209.85.221.43], dsn=2.0.0, stat=Sent (OK 1263261429 9si14818918pzk.83)
Jan 12 11:00:02 lily sm-msp-queue[2808]: My unqualified host name (hostname) unknown; sleeping for retry
Jan 12 11:01:02 lily sm-msp-queue[2808]: unable to qualify my own domain name (hostname) -- using short name

 どこら辺りを設定してよいのかわからない状態です。LAN内のDNSサーバーは(おそらく)きちんと動いていてWebサーバーでの名前解決やバーチャルホストの設定などはうまく動いております。
 どんづまってしまったので、よろしくお願いします。

オフライン

 

#2 2010-01-12 16:22:54

ry
メンバ
登録日: 2008-07-30

Re: メール送信時の名前解決

どうやら名前解決という言葉とその動作を勘違いしており、見当違いの解決策を模索しているように思えます

問題になっている部分をできるだけ具体的に記述して欲しいのですが、投稿内容から勝手に類推すると、送信者のメールアドレスのホスト部が期待通りにならないことが問題になっていると見受けます
このことは以下の発言からの読み取りました

#1の oosamuuyさん による投稿:

例えばrootからメールを送信すると[email protected]ではなく、root@hostnameという風にサーバー内で設定したホスト名になってしまい

これに関しては、postfix ではメールアドレスの @ 以降が省略されているときに、どんなドメイン名を補足するかはすべて main.cf という設定ファイルに記述します
main.cf の内容が公開されていないため、これが正解だとは断言できませんが、再度 main.cf の内容を見直されてはいかがでしょう

基本的に postfix の動作について質問したいときは、postconf -n の実行結果を添付すると、多くの人から適切な回答が得られやすいはずです (当然 プライバシーに関わる字句は伏せ字にするなどの加工はしておきましょう)

オフライン

 

#3 2010-01-12 16:42:08

hito
管理者
登録日: 2007-03-18

Re: メール送信時の名前解決

現在sendmailが動いているということなので、「sendmail localhost」あたりでGoogle検索して頂けると、sendmailの必要な設定が分かると思います。まずこれを済ませましょう。

"unable to qualify my own domain"の方も、やはりセットにして検索してもらうと答えが出てくるはずです。また、127.0.0.1は変更してはいけません。変更すべきはホストの外向きのIPアドレスが含まれている行の方です。

オフライン

 

#4 2010-01-12 17:04:03

oosamuuy
メンバ
登録日: 2009-03-09

Re: メール送信時の名前解決

hitoさんありがとうございます。いつもお世話になっております。参考のキーワードで調べてみます!
 ここでちょっと質問なのですが、sendmailの基本的な設定を済ましてから…後々にはpostfixで送信メールサーバーを設定しようと考えています。(以前はそうしていました。)今現在、postfixの設定でなかなかうまくいかず、sendmailに戻している…という状態です。たぶんpostfixを設定するとまた新たにいろいろと設定することになりますが、その時にはsendmailの設定は機能的には無視されるということになるんですよね?
 以前にこのフォーラムでUbuntu/Debianはpostfixをインストールした時点でMTAが自動的にpostfixに変更になるということを教えてもらったのですが、例えばpostfixをやめてsendmailに戻す時にはどのような設定をすればよいのかおしえてください。それができると設定に戸惑ってもどちらか正常に機能する方を選択できるので安心です。

ryさん、ありがとうございます。
 説明不足ですみません。現在sendmailがMTAとして動いております。(postfixは現在remove中です。)
 現在問題なのは、
1. 自分のGmail以外にはメールが送信されないこと。(しかし、一部のスクリプトからはGmailにも送信されません。)
2. 偶然(?)なのか…Gmailに届いたメールのヘッダーを見ると明らかにホスト名(ドメイン)の部分がおかしなことになっている。
という感じです。他にも少々おかしな部分があり、rootのメールは/var/mail/rootに格納されるようですが、aliasesで設定したメールアドレスに転送してくれない…といったことなどです。
 以前はすべて自分で設定したのですが、その時のOSはFedoraで、現在でもそのOSは動かしているのですが設定の方法がUbuntuではかなりいろいろな部分で違うといった感触です。

オフライン

 

#5 2010-01-12 17:44:24

ry
メンバ
登録日: 2008-07-30

Re: メール送信時の名前解決

失礼しました
よく読まずに回答してしまった所為で、頓珍漢なことになってしまいました
sendmail を触ったのはずいぶんと昔のことなので、回答するには至りません
誠に恐縮ながら、識者の回答に委ねるとします

オフライン

 

#6 2010-01-12 19:36:42

hito
管理者
登録日: 2007-03-18

Re: メール送信時の名前解決

sendmailとpostfixの設定は完全に相互不可侵なので、並立できます。

ただ、システム内に適切な形で存在できるMTAは一つだけなので、どちらかを使う時は他のものは止めることになります。
止める方法として妥当なのはupdate-rc.dでsendmailの自動起動を止めることです。

敷居が高そうであれば、dpkg -L sendmail (あるいはpostfix)で表示されるファイルをまとめてどこかにバックアップしておき、sudo apt-get remove sendmail などとしてパッケージごと削除してしまうのが確実ですし、分かりやすいでしょう(もしかして止まってないsendmailが悪さしてるかも、と悩まずに済みます)。

なお個人的には、もうsendmailを使う時代でもないので、postfixで試行錯誤した方が有意義かなぁと思います。sendmailの設定は黒魔術すぎるので。

オフライン

 

#7 2010-01-12 21:50:35

oosamuuy
メンバ
登録日: 2009-03-09

Re: メール送信時の名前解決

hitoさん即答ありがとうございます。
 僕も周囲にあまり詳しい友人がいないもので…(僕が一番詳しい人間になっています…(汗))相談する人がなかなかいなくて困っていたのですが噂通りsendmailは何というか黒魔術的というのがわかります(笑)。コメントアウトの方法でさえ馴染まないので今一度皆様に相談したいと思っておりました。にも関わらず、sendmailはなかなか根強いものもあって僕が利用しているCMSなんかでもsendmailを選択できるようになっていたります。(が、勿論他のSMTPを選択できるようになっています。)sendmailの情報が極端に少ないのも気がかりです。

僕は以前にFedoraを使っていたのですが当時はデフォルトで何も設定しなくてもsendmailが使える状態になっていたので、そのまま使用していたため設定やシステムに関しては殆ど無知なのです。後にPostfixにしましたが、今回も当時(もうFedora Core 5なのでだいぶ前になりますが…)のPostfixの設定を参考にしてUbuntuをいじってみましたが大失敗しました。やはり、Postfixにしようか迷っているところです。
 先日よりPostfixの設定の方で参ってしまって急遽sendmailに戻したらそれさえきちんと機能していない…という状態でここ数日ストレスフルであります。

 sendmailとPostfixの切り替えの方法、ありがとうございます。やっぱり/etc/xxxxみたいなファイルにMTAの選択項目があって…などという簡単な設定はできないんですねぇ。。。Ubuntu/Debianはしんどい部分はしんどうです。

 やはりhitoさんの言うように、またryさんがコメントしてくれたようにPostfixの方が情報が多いし新しいのでそちらの方で試してみようかな…と思います。中途半端なトピックになってしまい、タイトルとちょっと違った文脈になってしまいましたが…。

 皆様いろいろとありがとうございます。

オフライン

 

Board footer

Powered by FluxBB