sendmail

このエントリーをはてなブックマークに追加
463名無しさん@お腹いっぱい。
とっても長くてすみません。ちょっと↓見てください。

# /usr/sbin/sendmail -bt -Csendmail.cf
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> /tryflags HS
> /try smtp hogehoge
Trying header sender address hogehoge for mailer smtp
rewrite: ruleset 3 input: hogehoge
rewrite: ruleset 3 returns: hogehoge
rewrite: ruleset 1 input: hogehoge
rewrite: ruleset 1 returns: hogehoge
rewrite: ruleset 11 input: hogehoge
rewrite: ruleset 11 returns: hogehoge < @ server01 . mydom >
rewrite: ruleset 4 input: hogehoge < @ server01 . mydom >
rewrite: ruleset 4 returns: hogehoge @ server01 . mydom
Rcode = 0, addr = [email protected]
> /try smtp2 hogehoge
Trying header sender address hogehoge for mailer smtp2
rewrite: ruleset 3 input: hogehoge
rewrite: ruleset 3 returns: hogehoge
rewrite: ruleset 1 input: hogehoge
rewrite: ruleset 1 returns: hogehoge
rewrite: ruleset 17 input: hogehoge
rewrite: ruleset 17 returns: husagiko < @ giko . neko . ne . jp >
rewrite: ruleset 4 input: husagiko < @ giko . neko . ne . jp >
rewrite: ruleset 4 returns: husagiko @ giko . neko . ne . jp
Rcode = 0, addr = [email protected]
>

これは、現在使用中の、sendmail 8.9.3を実装したserver01で、アドレス書き
換えルールを試したテストです。
mydomという内部だけのドメインで、LAN内メール交換し、smtp2で外部宛を
指定。外部向けのメールアドレスに書き換えを実施しています。
書き換えルールセットの17などは、使用中のsendmail.defに記述されて
ました。
464名無しさん@お腹いっぱい。:02/08/28 18:24
で、>>463を新しいsendmailに移植したいと思います。バージョンは、8.11です。

# /usr/sbin/sendmail -bt -Csendmail.cf
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> /tryflags HS
> /try smtp hogehoge
Trying header sender address hogehoge for mailer smtp
canonify input: hogehoge
Canonify2 input: hogehoge
Canonify2 returns: hogehoge
canonify returns: hogehoge
1 input: hogehoge
1 returns: hogehoge
HdrFromSMTP input: hogehoge
PseudoToReal input: hogehoge
PseudoToReal returns: hogehoge
MasqSMTP input: hogehoge
MasqSMTP returns: hogehoge < @ *LOCAL* >
MasqHdr input: hogehoge < @ *LOCAL* >
MasqHdr returns: hogehoge < @ server02 . mydom . >
HdrFromSMTP returns: hogehoge < @ server02 . mydom . >
final input: hogehoge < @ server02 . mydom . >
final returns: hogehoge @ server02 . mydom
Rcode = 0, addr = [email protected]
>

と、ココまではOKですので、LAN内のメールサーバとしてはOKになったの
ですが、cfのドコ探してもsmtp2に関する記述が見つかりません。

sendmail smtp2 など、思いつくキーワードでgoogleしてみたのですが、
smtp2の出てくるのはCF時代のお話のようです。

バカなコトしてないで、ちゃんとした独自ドメインとれや、ゴルァ!という
お叱りは覚悟の上ですが、8.11で、上段のようなアドレス書き換えを実行
する方法はないでしょうか?
>>464
よくわからんが、virtusertable じゃダメなのかな?
>>462
ん? mailertable にエントリあれば access_db に書く必要無いはずなんだけど。
cf で mailertable の定義してないとかじゃない?
>>464
もしかして、http://pc.2ch.net/test/read.cgi/unix/1030360593/35 の人ですか?

genericstable
genericsdomain
masquerade_envelope

で、検索すればでてくるよ。
468467:02/08/28 22:47
追加。
あと、SMART_HOST も必要かも。
469名無しさん@お腹いっぱい。:02/08/29 12:43
>>466さん

最初mailertableのみ定義してたんですがそれだとはねられ
ちゃったんです

 その時点でaccessに記述があったホストからは
 mailertableによるリレーがうまくいっていたので・・・・・

 で、cfのREADME見てたら

 accessに
TO:MyDomain RELAY

という風にやれるよ
と書いてあったのでそのとおりやったらうまくいったと

ちなみにFeeBSD 4.6/sendmail 8.12.3です
470名無しさん@お腹いっぱい。:02/08/29 17:28
>>467

はい。そのとおりです。
あれを愚痴った翌日、sendmailのスレを発見したのでした。

検索した結果、
ttp://www.linux.or.jp/JF/JFdocs/Sendmail-Address-Rewrite-3.html

を発見しました。

この設定にしたところ、アドレス変換ができるようになりました。
ありがとうございます。

ただ、現在のところ、ローカル宛だろうが、外宛だろうが、全てIPSの
メアドに変換してしまうのが困りモノですが‥‥‥
# LAN内で「返信」機能が使えなくなってしまう‥‥
471464:02/08/29 18:45
>>470 も自分です。

基本的なコトなのかもしれませんが、質問させてください。

Received: from localhost.localdomain (server02.mydom [])
by server01.mydom (8.9.3/3.7W) with ESMTP id SAA21175
for <[email protected]>; Thu, 29 Aug 2002 18:17:13 +0900

メールのソースを開けてみましたら、8.11を搭載したホストからのメール
は、上の様に、localhost発になっています。

8.9.3を搭載した、現在稼動中のホストは、server01.mydom発になっています。

sendmail.mc 内に、CFの時のMY_DOMAINや、MY_NAMEに相当する記述
の必要、ありましたでしょうか?
genericsdomain や、local-host-names に記述だけではダメでしたでしょ
うか?


>>471
sendmail.mc の末尾に Cwホスト名 をいきなり書いとけ。
m4 が解釈出来ない行はそのまま sendmail.cf の冒頭に入る。
>>471
CFの時のMY_DOMAINや、MY_NAMEに相当する記述は、
confDOMAIN_NAME
だったかも。
>>470

>> ただ、現在のところ、ローカル宛だろうが、外宛だろうが、全てIPSの
>> メアドに変換してしまうのが困りモノですが‥‥‥
>> # LAN内で「返信」機能が使えなくなってしまう‥‥

submit.cf を消して、sendmail を root に setuid したらどうなりますか。
475464:02/08/30 15:18
>>472
>>473

define(`confDOMAIN_NAME',`$w.$m')dnl
で記述したら、server02.mydomになりました。

>>473

sendamailは、最初から
-r-sr-xr-x 1 root root
になっていました。

現在も、問答無用で書き換えしてます。困った‥‥
[
DOMAIN(generic)dnl
してる?

つーか、なんでみんな使ってるバージョンも sendmail.mc も晒さずに質問するの?
477476:02/08/30 15:28
あ、見落としてた。晒してたね。スマソ。
478464:02/08/30 17:18
>>476

そういえば、まだsendmail.mcは晒してませんでしたね
インストール時、ソフト側にお任せしたので、もしかしたら何か余計なものが
入っているのでしょうか?

VERSIONID(`linux setup for Red Hat Linux')dnl
OSTYPE(`linux')
DOMAIN(generic)dnl
Dmmydom
Dwserver02
define(`confDOMAIN_NAME',`$w.$m')dnl
define(`SMART_HOST',`giko.neko.ne.jp ')
define(`confDEF_USER_ID',``8:12'')dnl
undefine(`UUCP_RELAY')dnl
undefine(`BITNET_RELAY')dnl
define(`confAUTO_REBUILD')dnl
define(`confTO_CONNECT', `1m')dnl
define(`confTRY_NULL_MX_LIST',true)dnl
define(`confDONT_PROBE_INTERFACES',true)dnl
define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl
define(`ALIAS_FILE', `/etc/aliases')dnl
define(`UUCP_MAILER_MAX', `2000000')dnl
define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl
define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
define(`confAUTH_OPTIONS', `A')dnl
FEATURE(`no_default_msa',`dnl')dnl
FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl
FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl
FEATURE(redirect)dnl
FEATURE(always_add_domain)dnl
FEATURE(use_cw_file)dnl
FEATURE(use_ct_file)dnl
FEATURE(`access_db',`hash -o /etc/mail/access.db')dnl
FEATURE(masquerade_envelope)
FEATURE(genericstable, `hash -o /etc/mail/genericstable')
GENERICS_DOMAIN_FILE(`/etc/mail/genericsdomain')
FEATURE(`accept_unresolvable_domains')dnl
MAILER(local)dnl
MAILER(smtp)dnl
Cwserver02.mydom
<[email protected]>の記事において
[email protected]さんは書きました。

>>464

submit.cf を消してもそうなる?