3.3.2 sendmail.cfの定義例

mhs_mailerを起動するために,sendmail.cfに追加する定義項目の記述例を次に示します。各定義項目をそれぞれ所定の位置に追加してください。

<この項の構成>
(1) 受信メールのアドレスをmhs_mailerが認識できるようにする定義
(2) mhs_mailerを起動するための条件の定義
(3) mhs_mailerと実行する処理の定義
(4) メールの発信者および受信者のアドレスを書き換えるためのルールセットの定義

(1) 受信メールのアドレスをmhs_mailerが認識できるようにする定義

O OperatorChars=.:%@!^[]+

OperatorCharsは,アドレス中の特殊文字を定義するオプションです。この記述では,「OperatorChars=」に続く各文字をアドレス要素(トークン)を区切る文字として認識するように定義しています。したがって,O/R形式のアドレスの'/'および'='は区切り記号とはみなされなくなります。

(2) mhs_mailerを起動するための条件の定義

sendmail.cfのCXエントリにmhs_mailerを起動するドメイン定義を追加します。

(例)smtpgw.hitachi.co.jpというドメイン名でmhs_mailerを起動する場合
テンプレートファイル中のエントリを参考に次のように追加してください。

(設定前)CX smtpgw.sub.sub.top   smtplhs.sub.sub.top
                   ↓
(追加後)CX smtpgw.hitachi.co.jp

また,上記のCXマクロで設定したドメイン名宛てのメールを受信した場合に,smtpgwメーラに転送することをルールセット0に設定します。

R$+<@$=X>       $#smtpgw $@$j $:$1<@$2>
R$+<@$=X.>      $#smtpgw $@$j $:$1<@$2>

(3) mhs_mailerと実行する処理の定義

Msmtpgw, P=¥smtpbin¥mhs_mailer, F=DxhFmMSu,
S=28/28, R=28/28, A=mhs_mailer $u

コンマで区切られた部分がそれぞれ定義項目になります。各項目の定義は次のようになります。

Msmtpgw
メーラ名称
P=¥smtpbin¥mhs_mailer
起動するプログラムmhs_mailerの絶対パス名を指定します。
このパス名には,インストール先のディレクトリ名を含めて絶対パスを記述してください。
F=DxhFmMSu
mhs_mailerの処理を定義したフラグ
F,M,Sは必ず指定してください。Mail - SMTPでエンベロープ送信者を取得する為,nは指定しないでください。Version 6 06-50以前のMail - SMTPを使用していた場合,nは必ず指定してください。それ以外のフラグは,ユーザの運用形式に応じて指定してください。
Xを指定した場合は,インターネットから受信したメールで「.」だけの行が「..」に変換されてしまいます。「..」に変換されるのを防ぐには,Xフラグを削除してください。送信者がquoted-printable形式のデータを送付している場合,添付ファイルが正常にデコードできない場合があります。
S=28
発信者および受信者アドレスの書き換えルールセットの番号
ルールセットの内容は「3.3.2(4) メールの発信者アドレスを書き換えるためのルールセットの定義」で定義します。
A=mhs_mailer $u
メーラの起動時に必要な引数を定義しています。$uは受信者のアドレスを示すマクロです。

(4) メールの発信者および受信者のアドレスを書き換えるためのルールセットの定義

S28
R$-          $@$1<@$j>
R$+<@$+.>    $1<@$2>

ルールセット28の定義内容をここで記述します。

このルールセットによって,発信者アドレスがドメインパートを含むように書き換えられます。また,受信者アドレスのドメインパートの終わりに付加されているドットの削除を行います。