- PR -

リレーサーバ(sendmail8.13.5)でメールが受信できない

投稿者投稿内容
A.W
常連さん
会議室デビュー日: 2005/11/08
投稿数: 27
投稿日時: 2005-11-08 16:11
初めまして、A.Wと申します。
この掲示板の過去ログにいつも助けられていましたが、この度
解決できない事態になりましたのでご助力頂けたらと思い、書き込みに至りました。
sendmailで受信ができないことに関してのログが無かったかのように思います。
過去ログを見逃していたら大変申し訳ありません。


----------以下内容----------

現在、sendmail8.13.5を用いて以下のような構成でメールシステムを構築しています。
大変恐縮ですが、OSはSolarisで、/etc/mailにsendmail.cfが存在しています。
以下、それぞれの設定内容について説明します。

・リレーサーバ(DMZ)
外部から受信したメールをスプールサーバに配送。
mailertableでexample.co.jp宛のメールはスプールサーバに配送するように設定。
以前はCFで作成されたsendmail.cfで動作していた。


・スプールサーバ(内部)
内部から外部宛てに送られるメールは
リレーサーバを経由して外部に送られるように設定。


となっております。

以前はCFで作成されたものを使っていた、と書きましたが、CFで作成された
sendmail.cfでは問題無くリレーサーバとして動作していました。
なのでスプールサーバの方は問題が無いはずなので、リレーサーバの設定が
誤っているのかと思います。
なのでリレーサーバの現状を記載していきます。


今回、スパムをaccessで指定拒否する必要が出てきたのと、今後m4をメインで
使う予定なのでリレーサーバでm4を用いてsendmail.cfを作成しました。
(ホスト名はmail、ドメインはexample.co.jpとします)


-------------------------
divert(0)dnl
VERSIONID(`$Id: generic-solaris.mc,v 8.13 2001/06/27 21:46:30 gshapiro Exp $')
OSTYPE(solaris2)dnl
DOMAIN(generic)dnl

define(`confDOMAIN_NAME', `mail.example.co.jp')dnl
define(`confCW_FILE', `/etc/mail/local-host-names')dnl
define(`confTO_IDENT', `0s')dnl
define(`confPRIVACY_FLAGS', `goaway')dnl
define(`confOPERATORS', `.:@!^/[]+')dnl
define(`DATABASE_MAP_TYPE', `dbm')dnl

FEATURE(`accept_unresolvable_domains')dnl
FEATURE(`access_db')dnl
FEATURE(`mailertable')dnl
MAILER(local)dnl
MAILER(smtp)dnl
------------------------------

以上がsendmail.mcの内容です。

この状態でsendmail.cfを作成し、インストールしてsendmailを動かすと
送信はlocal-host-namesに自分自身のFQDNを書くことによって解決しましたが、
受信のほうで問題が出てきます。

hotmail(test@hotmail.comとします)から内部(test@example.co.jpとします)
に送信したとき、

Nov 4 10:50:17 mail sendmail[19654]: [ID 801593 mail.notice] jA41oHTQ019654: <test@mail.example.co.jp>... User unknown
Nov 4 10:50:17 mail sendmail[19654]: [ID 801593 mail.info] jA41oHTQ019654: from=<test@hotmail.com>, size=0, class=0, nrcpts=0,
proto=ESMTP, daemon=MTA, relay=xxx.hotmail.com [xxx.xxx.xxx.xxx]

というようなログがリレーサーバ上に残り、hotmailにメールが戻ってきます。
hotmailに限らず、外部からのメールは全て弾いてしまいます。
example.co.jp宛のメールをlocalと認識しているか、accessの設定で
何故か拒否されているか、どちらかだと感じました。

ちなみにaccessは

localhost.localdoamin RELAY
localhost RELAY
127.0.0.1 RELAY
mail.example.co.jp RELAY
example.co.jp RELAY
スプールサーバのIP RELAY

です。


試しに、

define(`SMART_HOST',`smtp:[スプールサーバのIP]')dnl

をsendmail.mcに追記してsendmail.cfを作って動かしてみたのですが、
状況は変わらず、受信ができないままでした。

参照記事URLを見たりもしましたが、解決には至りませんでした。
簡単なことを見逃しているのでしょうか。
お時間あればどなたか返信頂けると幸いです。



失礼します。

A.W
常連さん
会議室デビュー日: 2005/11/08
投稿数: 27
投稿日時: 2005-11-08 16:33
自己レス。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=12555&forum=10

のようにlocal-host-namesの設定が間違えているかもしれないので、
明日職場でこれを試してみます。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-11-08 23:06
こんばんわ.

local な Domain 向けは mailertable で spool server に向ければよいのでは?
A.W
常連さん
会議室デビュー日: 2005/11/08
投稿数: 27
投稿日時: 2005-11-09 09:22
おはようございます。
kaz様、レスありがとうございます。

mailertableで、

mail.example.co.jp smtp:[スプールサーバのIP]

という風に指定しています。受け取るアドレスはmail.example.co.jpのみです。
しかし、ログではUser Unknownが…。
DBもしっかり作成しています。

今朝、上記のsendmail.mcでsendmail.cfを作成すると

Nov 9 08:57:05 mail sendmail[2624]: [ID 801593 mail.alert] jA8Nv5kC002624: Losing ./qfjA8Nv5kC002624: savemail panic

が無限に出てきて焦りました(^^;
なんとかsendmailを停止して、以前のsendmail.cfに置き換えて
現在は動かしています…。

うーん、泥沼化していってる気がします…。
はゆる
ぬし
会議室デビュー日: 2004/02/16
投稿数: 1008
お住まい・勤務地: 首都圏をウロウロと
投稿日時: 2005-11-10 01:09
こんばんは。

まず最初に、

$ /usr/lib/sendmail -bv -d0.1

の結果を教えてください。
# ndbm は、コンパイル時に組み込んでいないと使えないのでは……
はゆる
ぬし
会議室デビュー日: 2004/02/16
投稿数: 1008
お住まい・勤務地: 首都圏をウロウロと
投稿日時: 2005-11-10 07:53
ごめんなさい、
現在、以前の sendmail.cf を使って sendmail を動かしているんでしたよね。
上記のままですと、そちらを使った結果が表示されてしまいますので、

$ /usr/lib/sendmail -bv -C/path/to/new-sendmail.cf -d0.1

で試してみてください。
/path/to/new-sendmail.cf には、m4 で作成した sendmail.cf への
絶対パスを記述してください)
A.W
常連さん
会議室デビュー日: 2005/11/08
投稿数: 27
投稿日時: 2005-11-10 08:49
おはようございます。
はゆる様、返信ありがとうございます。

以下、実行結果になります。

ここから------

Version 8.13.5
Compiled with: DNSMAP LOG MAP_REGEX MATCHGECOS MILTER MIME7TO8 MIME8TO7
NAMED_BIND NDBM NETINET NETINET6 NETUNIX NIS NISPLUS PIPELINING
SCANF XDEBUG

============ SYSTEM IDENTITY (after readcf) ===============
(short domain name) $w = mail
(canonical domain name) $j = $w.$m
(subdomain name) $m = example.co.jp
(node name) $k = mail
================================================

Recipient names must be specified


-----ここまで。

一応、accessで指定アドレス拒否を行った際、
Relaying Deniedのログを確認したので、NDBMで
作成されたaccessDBは正常に動作していると思います。


あと、このリレーサーバ(外向けDNSとしても使っています)から
DNSでスプールサーバを引けないようにしている(正引き逆引き両方)ので、
これの原因の可能性もあるかもしれません。


[ メッセージ編集済み 編集者: A.W 編集日時 2005-11-10 08:49 ]

[ メッセージ編集済み 編集者: A.W 編集日時 2005-11-10 08:50 ]

[ メッセージ編集済み 編集者: A.W 編集日時 2005-11-10 08:50 ]
A.W
常連さん
会議室デビュー日: 2005/11/08
投稿数: 27
投稿日時: 2005-11-10 09:38
何度もすみません。
今朝、いろいろ調整して試してみましたが、
結局メール受信は不可でsavemail panicが出てしまいました。

そのときの実行環境です。

sendmail.mc----------------------

divert(0)dnl
VERSIONID(`$Id: generic-solaris.mc,v 8.13 2001/06/27 21:46:30 gshapiro Exp $')
OSTYPE(solaris2)dnl
DOMAIN(generic)dnl

Dwmail
Dmexample.co.jp
define(`confDOMAIN_NAME', `$w.$m')dnl
define(`confCW_FILE', `/etc/mail/local-host-names')dnl
define(`confTO_IDENT', `0s')dnl
define(`confPRIVACY_FLAGS', `goaway')dnl
define(`confOPERATORS', `.:@!^/[]+')dnl

FEATURE(`nocanonify')dnl

FEATURE(`accept_unresolvable_domains')dnl
FEATURE(access_db, `dbm -o -T<TMPF> /etc/mail/access')dnl
FEATURE(mailertable, `dbm -o /etc/mail/mailertable')dnl
FEATURE(`use_cw_file')dnl

MAILER(local)dnl
MAILER(smtp)dnl

----------------------------------


mailertable---------------------------------------
example.co.jp [smtp:スプールサーバのIP]
subdomain.example.co.jp [smtp:スプールサーバのIP]
--------------------------------------------------


local-host-names--------------------
mail.example.co.jp
example.co.jp
スプールサーバのIP

上の3つを試してみたが結果は変わらず。
------------------------------------


access-----------------------
localhost.localdoamin RELAY
localhost RELAY
127.0.0.1 RELAY
example.co.jp RELAY
mail.example.co.jp RELAY
スプールサーバのIP RELAY
-----------------------------


実はsendmail.mcにSMART_HOSTやMAILHUBの設定も試してみたり
しましたが、状況は特に変わらずで。
そもそもSMART_HOSTは内部メールサーバにする設定ですよね…。
savemail panicがいっぱい出るので、ブルブル震えながらテスト
しています(;;

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