ヘッダーは 以下のように 文字 H から 始めます設定ファイル(xxx.cf sendmail.cf 等において)の表現は
Hname: field or H?flags?name:field name See RFC822 apparently-to full-name reply-to return-receipt-to bcc in-reply-to resent-bcc sender cc keywords resent-cc subject comments mail-from resent-date text content-length message resent-from to content-type message-id resent-message-id via date posted-date resent-reply-to x400-received encrypted precedence resent-sender errors-to received resent-to from references return-path
ヘッダー の 説明
名前 説明 追加される条件 From: 発信者のアドレス 存在しないときに 追記 Received: 受信の記録 常時 追記
Received: はすでに 存在しても その度に 追記されていく
様式
HFrom: <$g>
<$g> の $g はなんだろう ということですが マクロには 2種類あるよう です つまり D で決められたものと sendmail さんが 独自に 決めるものがあり 今回の $g というのは 後者の場合です
DXtext D{NANTARAKANNTARA}moziretu $X ${NANTARAKANNTARA} の 形で使用する
これは 今回の 場合は エンベロープに現れる発信者アドレス
R$- $@ $1@${HUB}
$1 に ユーザー(user)がはいるとすれば user@host.domain のような ハブマシン のホスト名とドメインが付記されたものが マクロ g に 設定されます
g user@host.domain From :<$g> From : <user@host.domain>
の様に 書き換えられる。と云う事のようです
$ cat test.cf V10/Berkeley D{REMOTE}local.net.gf D{HUB}host.domain ... R$- $@ $1@${HUB} R$-@$=w $@ $1@${HUB} R$-@$=w.$m $@ $1@${HUB} /* そうして */ $ /usr/sbin/sendmail -Ctest.cf -bt Mhub: Warning: first argument in [IPC] mailer must be TCP or FILE ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter <ruleset> <address> > 3,Hubset user 3 input: user 3 returns: user Hubset input: user Hubset returns: user @ host . domain > /quit
様式
HReceived: by $j;$b
この場合 by は 必須です $j というのは
$ /usr/sbin/sendmail -Ctest26.cf -bt -d0.1 < /dev/null ... (canonical domain name) $j = nyanco.kingdom.of.cat ...
完全なドメイン形式のホスト名 というようです マクロ b には ARPAnet 形 式 (曜日、月、日、時間、年、タイムゾーン形式)の現在の日付だそうです
ヘッダーを追記しものは 以下のようになる。
$ cat test27.cf
V10/Berkeley
D{REMOTE}coco.kingdom.of.cat
D{HUB}koro.catland.kingdom
Cwtuika
Fw -o /home/aruyuser/v_work/atest.cw
O QueueDirectory=/home/aruyuser/v_work/fakemqueue
O Timeout.queuewarn=4h
O Timeout.queuereturn=5d
O DeliveryMode=background
O TempFileMode=0600
O DefaultUser=1:1
O LogLevel=9
O OldStyleHeaders=True
O BlankSub=.
HFrom: <$g>
HReceived: by $j; $b
Mhub, P=[IPC], S=Hubset, R=0, F=mDFMuXa, T=DNS/RFC822/SMTP, A=IPC $h
Mlocal, P=/bin/mail, F=lsDFMAw5:/|@rmn, S=0, R=0, A=mail -d $u
S0
R@$+ $#error $: Missing user name
R$+ $#hub $@${REMOTE} $:$1
S3
R$* <> $* $n handle <> error address
R$* < $* < $* > $* > $* $2 < $3 > $4 de-nest brackets
R$* < $* > $* $2 basic RFC822 parsing
SHubset
R$- $@ $1@${HUB}
R$-@$=w $@ $1@${HUB}
R$-@$=w.$m $@ $1@${HUB}
nyanco.kingdom.of.cat[192.168.38.231]側で 送信する
$ /usr/sbin/sendmail -Ctest27.cf aruyuser Mhub: Warning: first argument in [IPC] mailer must be TCP or FILE To:aruyuser Subject: Headder change Disply mode? .
log 確認
# cat messages Oct 11 15:38:57 nyanco sendmail[354]: k9B6cCag000354: \ from=aruyuser, size=44, class=0, nrcpts=1, relay=aruyuser@localhost Oct 11 15:38:57 nyanco identd[358]: Connection from coco.kingdom.of.cat Oct 11 15:38:57 nyanco identd[358]: \ from: 192.168.38.123 ( coco.kingdom.of.cat ) for: 32808, 25 Oct 11 15:38:57 nyanco sendmail[356]: k9B6cCag000354: \ to=aruyuser, ctladdr=aruyuser (1000/100), \ delay=00:00:45, xdelay=00:00:00, mailer=hub, pri=30044, \ relay=coco.kingdom.of.cat. [192.168.38.123], \ dsn=2.0.0, stat=Sent (k9B6cvI5003961 Message accepted for delivery)
coco.kingdom.of.cat[192.168.38.123]側 コンソール (画面)に 表示され る場合が有る
# New mail for aruyuser@koro has arrived: ---- From: aruyuser@koro.catland.kingdom Subject: Headder change Disply mode? ----
log 確認
# cat messages Oct 11 15:38:57 koro sendmail[3961]: k9B6cvI5003961: \ from=<aruyuser@koro.catland.kingdom>, size=135, class=0, nrcpts=1, \ msgid=<200610110638.k9B6cvI5003961@koro.catland.kingdom>, \ proto=ESMTP, daemon=MTA, \ relay=aruyuser@nyanco.kingdom.of.cat [192.168.38.231] Oct 11 15:38:57 koro in.comsat[3964]: connect from localhost Oct 11 15:38:57 koro sendmail[3962]: k9B6cvI5003961: \ to=<aruyuser>, ctladdr=<aruyuser@koro.catland.kingdom> (1000/100), \ delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30418, dsn=2.0.0, stat=Sent
受信メールの 確認
# cat /var/spool/mail/aruyuser
From aruyuser@koro.catland.kingdom Wed Oct 11 15:38:57 2006
Return-Path: <aruyuser@koro.catland.kingdom>
Received: from nyanco.kingdom.of.cat (aruyuser@nyanco.kingdom.of.cat [192.168.38.231])
by koro.catland.kingdom (8.13.4/8.13.4) with ESMTP id k9B6cvI5003961
for <aruyuser>; Wed, 11 Oct 2006 15:38:57 +0900
Date: Wed, 11 Oct 2006 15:38:57 +0900
From: aruyuser@koro.catland.kingdom
Message-Id: <200610110638.k9B6cvI5003961@koro.catland.kingdom>
Received: by nyanco.kingdom.of.cat; Wed, 11 Oct 2006 15:38:12 +0900
To: aruyuser
Subject: Headder
change Disply mode?
以下の参考の もの(Headers は cf ファイルには 無かったもの)より Received: by ...の ものが 増えている。
From aruyuser@koro.catland.kingdom Wed Oct 11 09:30:07 2006 Return-Path: <aruyuser@koro.catland.kingdom> Received: from nyanco.kingdom.of.cat (aruyuser@nyanco.kingdom.of.cat [192.168.38.231]) by koro.catland.kingdom (8.13.4/8.13.4) with ESMTP id k9B0U7sb003698 for <aruyuser>; Wed, 11 Oct 2006 09:30:07 +0900 Date: Wed, 11 Oct 2006 09:30:07 +0900 From: aruyuser@koro.catland.kingdom Message-Id: <200610110030.k9B0U7sb003698@koro.catland.kingdom> To: aruyuser Subject: check test Wed Oct 11 09:29:44 JST 2006 may be good!
それがどうした といわれても 困るのですが!
( ハブ というても Hubset というものでは ありません ここで 色々テストし ているのは client.cf に 相当するもので hub.cf ではないと云う事です hub.cf ていうのは なんね? というのは 無しです もっと色々 複雑な cf ファイルです としときます) 今の From: ヘッダー の 場合に 比べて ハブ の場合は もっと 複雑な もの のようです
From: $g $?x($x)$. $? if x マクロ x が値をもつならば ($x) これを定義に 追加する $. endif マクロ x には 発信者のフルネームが値として入ります フルネームが見付からない場合は $x は 値がないことになり 省略される $x が値をもてば フルネームが括弧内に追記されます
条件式 として
if else endif | | | v v v $?x text1 $| text2 $.
の 様に使用される 部分の $| が 無い場合 のパターン と云う事の 様です ウクライナ をみれば 良いでしょう
http://www.unix.org.ua/orelly/networking/sendmail/ch31_06.htm
にゃんたろう 拝!
2006年10月11日 (水) 21:21:18 JST 作成