- PR -

sendmail メール送信を他のサーバに受け持たせたい

1
投稿者投稿内容
2005
会議室デビュー日: 2004/09/13
投稿数: 3
投稿日時: 2004-09-13 19:18
はじめまして。
linux(fedoracore2)でのsendmailの設定について、ご教示ください。

sendmail設定方針
 1.今回対象のLinuxサーバとは別に、メールサーバが既に有り、このメールサーバに
   メールの配信を受け持たせたい。
 2.Linuxサーバはメールの受信は行わない。
 3.Linuxサーバには、DNSの設定は行わない。
 4.Linuxサーバ上で動作するcgiがsendmailを利用する。

過去のスレッドを参考にさせていただき、以下のようなsendmail.mcを作成しました。

divert(-1)dnl
include(`/usr/share/sendmail-cf/m4/cf.m4')dnl
VERSIONID(`setup for Red Hat Linux')dnl
OSTYPE(`linux')dnl
DOMAIN(generic)dnl
FEATURE(`access_db',`hash -T<TMPF> -o /etc/mail/access.db')dnl
define(`SMART_HOST',`smtp:[192.16.abc.def]')dnl
MAILER(local)dnl
MAILER(smtp)dnl

本当に、このとおりにmcファイルに記述しています。見やすくするために、
思いっきり削ってしまいました。
ここで、既存のメールサーバのIPアドレスが192.16.abc.defです。
この他に、access.dbに

192.16.abc.def RELAY

としています。これ以上は何も設定していません。
この状態で、他のドメイン(kaisya.co.jp)にメールを送信すると、以下のような
メッセージが出ます。

[root@testsever root]# echo hello | mail -v user@kaisya.co.jp
kaisya.co.jp: Name server timeout
user@kaisya.co.jp... Transient parse error -- message queued for future delivery
user@kaisya.co.jp... queued

Linuxサーバ上に作成したテストユーザに送信すると、以下のようになります。

[root@testsever root]# echo hello | mail -v mailtest@localhost.localdomain
mailtest@localhost.localdomain... Connecting to [127.0.0.1] via relay...
220 localhost.localdomain ESMTP Sendmail 8.12.11/8.12.11; Mon, 13 Sep 2004
18:50:21 +0900
>>> EHLO localhost.localdomain
250-localhost.localdomain Hello testsever [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 CRAM-MD5
250-DELIVERBY
250 HELP
>>> MAIL From:<root@localhost.localdomain> SIZE=42 AUTH=root@localhost.localdomain
250 2.1.0 <root@localhost.localdomain>... Sender ok
>>> RCPT To:<mailtest@localhost.localdomain>
>>> DATA
250 2.1.5 <mailtest@localhost.localdomain>... Recipient ok
354 Enter mail, end with "." on a line by itself
>>> .
250 2.0.0 i8D9oLHD011694 Message accepted for delivery
mailtest@localhost.localdomain... Sent (i8D9oLHD011694 Message accepted for
delivery)
Closing connection to [127.0.0.1]
>>> QUIT
221 2.0.0 localhost.localdomain closing connection

他のドメインにメールを送信すると、上のように失敗してしまいます。
過去のスレッドに、

LOCAL_NET_CONFIG
R$* < @ $* . > $* $#smtp $@ $2. $: $1 < @ $2. > $3
『こうすると「local の DNS 検索で参照できるのもだけ直接配送,
それ以外は smarthost へ」となるようです』

とありましたので、その通り、mcに記述し、cfを作っても、sendmailのrestartを
実施したときにエラーが発生して、sendmailが起動しませんでした。
そのため、今のcfファイルからは、削っています。

過去に何度か話題になっている件だとは思うのですが、何卒良いアドバイスを
いただけますよう、宜しくお願いいたします。
はゆる
ぬし
会議室デビュー日: 2004/02/16
投稿数: 1008
お住まい・勤務地: 首都圏をウロウロと
投稿日時: 2004-09-30 12:35
こんにちは。

だいぶ遅レスですが… (^^;
sendmail は、ローカルからのメール送信時に submit.cf を利用しますので、そちらを設定してあげればよいと思います。
次のスレッドにある、外部のサイトさんの情報が大変参考になります。

 ・ RedHat9でのcronのメールを受信する方法

メールの転送や受信をしないのであれば、MTA daemon として起動しておく必要はないと思いますが、queue のお掃除はお忘れなく。
1

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