- PR -

【sendmail】mailertableのポート指定について

1
投稿者投稿内容
JET
ベテラン
会議室デビュー日: 2004/02/18
投稿数: 76
投稿日時: 2007-02-06 17:47
mailertableを使用して特定ドメインに対して静的経路を
設定しているのですが、接続先MTAのPortを指定することは
可能でしょうか。
例えば、qmailのsmtproutesのようにport設定できるでしょうか。

smtproutes ⇒ 静的経路のドメイン名:接続先MTAのIPアドレス: port番号
mailertable ⇒ 静的経路のドメイン名  smtp:[接続先MTAのIPアドレス]


mailertableを以下のように設定してみましたが、上手く配送出来ませんでした。
静的経路のドメイン名  smtp:[接続先MTAのIPアドレス]: port番号
静的経路のドメイン名  port番号:[接続先MTAのIPアドレス]


宜しくお願い致します。


anights
ぬし
会議室デビュー日: 2003/05/22
投稿数: 277
お住まい・勤務地: 東京
投稿日時: 2007-02-06 18:32
mailerの定義をいじるようですねぇ。

sendmail-cfなら
http://www.sendmail.org/faq/section3.html#3.39
ってことのようですね。
_________________
桃李不言 下自成蹊
JET
ベテラン
会議室デビュー日: 2004/02/18
投稿数: 76
投稿日時: 2007-02-14 19:52
anightsさん

ご連絡が遅くなりましたが、上手くいきませんでした。
relayイメージは以下のような感じです。

 MTU1 ⇒ MTA1(25) ⇒ MTA2(25) ⇒ MTA1(19000)

MTA1でsendmailプロセスを2つ上げてます。
MTA1のsendmail(25)はSmart_HostsでMTA2を指定しています。

MTA1のsendmail(25)mcファイルには
define(`SMART_HOST',`[MTA2のIP]')           

MTA1のsendmail(19000)mcファイルには
DAEMON_OPTIONS(`Port=19000')



MTA2のmcファイルには
FEATURE(`mailertable')
define(`confRELAY_MAILER', `esmtp')
define(`RELAY_MAILER_ARGS', `TCP &h 19000')

MTA2のmailertableには
test.co.jp relay:[MTA1のIP]


と記述しております。


MTA1上ではmailertableの認識しているようで
usr/lib/sendmail -bv foo@test.co.jp
foo@test.co.jp... deliverable: mailer smtp, host [MTA1のIP], user foo@test.co.jp

また、MTA2からMTA1に対してtelnet 19000を実行し、メールを送ると
メールは到達します。

MTU1からMTA1に対して、メールを送信した際、MTA2の
mailログを確認しているとループしている感じです。

Feb 14 19:42:25 athens33 sendmail[193]: [ID 801593 mail.crit] l1EAgOlw000190: SYSERR(root): [MTA1のIP] config error: mail loops back to me (MX problem?)
Feb 14 19:42:25 athens33 sendmail[193]: [ID 801593 mail.info] l1EAgOlw000190: to=<foo@test.co.jp>, delay=00:00:01, xdelay=00:00:00, mailer=smtp, pri=120852, relay=[MTA1のIP] [MTA1のIP], dsn=5.3.5, stat=Local configuration error


長々のなりましたが、どこか不具合箇所ありましたら
ご教授お願いします。
F/A
ぬし
会議室デビュー日: 2006/03/18
投稿数: 312
お住まい・勤務地: Tokyo
投稿日時: 2007-02-15 00:17
> MTA1上ではmailertableの認識しているようで

MTA1には SMART_HOSTが定義されているように思いますが、
mailertableも定義されているのでしょうか?


さて、 mail loops back to me というエラーは、
受信したメールがローカルかリモートか判定した際に、「リモート」と判定したけれども、
DNS/MX・Aレコードを引いたら自分自身だった場合に発生するようです。


今回、リモートと判別した点は正しいように思いますが、
であれば、mailertableによってMTA1に配送されるはずです。

配送されていないということは、mailertableが認識されておらず、
書き方に問題があるのではないかと思うのですが…
(念のためお聞きしますが、makemapはされてますよね…)

あと、MTA2の
define(`confRELAY_MAILER', `esmtp') の行は要らないと思います。

もっとも、その方法ではrelayメーラが使われる場合は
どこのホスト宛であろうと25番ポートじゃなくなりますので
出来れば、カスタムメーラを定義する方がお奨めです。


基本的にSendmailはMTA間のループには無頓着で、
ホップ数限界までループしてくれます。(笑)


[ メッセージ編集済み 編集者: F/A 編集日時 2007-02-15 00:44 ]

[ メッセージ編集済み 編集者: F/A 編集日時 2007-02-15 00:45 ]
dam
会議室デビュー日: 2004/11/07
投稿数: 13
投稿日時: 2007-02-15 11:26
(1)mailertableで、メーラの指定を
relayにしたらどうでしょうか?

ドメイン名 relay:[接続先MTAのIP]
※ IPアドレスを記述する際は、スクウェアブラケット[]で囲む


(2)RELAY_MAILER_ARGS', `TCP &h 19000'
&hの部分って、$hだったような。

お役に立てれば幸いです。
1

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