mail_relay version 0.0 ------------ メールのヘッダー書き換えプログラムです。 使用例としては、imodeへのメール転送等に使えると思います。 qmail用ですが、他のメールサーバーにも適応可能だと思います。 使用方法 mail_relay.pl [-d] [-x | -X ] [-r return-local return-host | -R return-address] [-t local host] 宛先メールアドレス 送られてきたメールのヘッダにあるTo:アドレスを 宛先メールアドレス に書き換えます。 -d を指定するとReceived/Message-IDヘッダが削除されます。 -x を指定すると、元の、From:,To:,Return-Path:をそれぞれX-Relay-From:,X-Relay-To:,X-Relay-Return-Path:にコピーします。 -X を指定すると、書き換えられたFrom:,To:,Return-Path:の元ののみ値を、それぞれX-Relay-From:,X-Relay-To:,X-Relay-Return-Path:にピーします。 -r を指定すると、Return-Path:をreturn-local perseFrom@return-host(実際にはスペースはありません)に書き換えます。(元のReturn-Pathの情報は使用されません) -R を指定すると、Return-Path:をreturn-addressに書き換えます。 -t を指定すると、メールのヘッダのFrom:アドレスをlocal perseFrom@host(実際にはスペースはありません)に書き換えます。 perseFromは、Fromのアドレスの、+を+pに、=を+eに、@を=にしたものです。 From: ituki@fc.to の場合、 localituki=fc.to@host というアドレスがFrom:に生成されます。 mail_relay.pl [-d] [-x | -X] [-R return-address] [-s send-address] [-p head passcode] [-f Fromアドレス] -b local host 送り元メールアドレス 送られてきたメールのTo: にあるlocal perseFrom@host(実際にはスペースはありません)のperseFromを抜き出し、 =を@に、+eを=に、+pを+に変換し、そのアドレスをTo:にし、メールを送信します。 ただし、From:が送り元メールアドレスと一致する必要があります。 -d を指定するとReceived/Message-IDヘッダが削除されます。 -x を指定すると、元の、From:,To:,Return-Path:をそれぞれX-Relay-From:,X-Relay-To:,X-Relay-Return-Path:にコピーします。 -X を指定すると、書き換えられたFrom:,To:,Return-Path:の元の値のみを、それぞれX-Relay-From:,X-Relay-To:,X-Relay-Return-Path:にピーします。 -R を指定するとReturn-Path:がreturn-addressで書き換えられます。 -s を指定すると、send-addressで指定したアドレスにのみメールが送信されます。 指定外のアドレスにメールを送信しようとすると、100エラーになります。 複数指定可能です。(-s address1 -s address2と指定) -p を指定すると、head:にpasscodeが指定されていた場合のみ転送を許可します。 (転送後は、head:は削除されます。) 指定がないと、100エラーになります。 複数指定可能です。(-p head1 pass1 -p head2 pass2と指定) この場合、head1: pass1でかつ-p head2 pass2の時のみ送信が許可されます。 -f を指定するとFrom:が指定したアドレスで書き換えられます。 使用例 メインのメールアドレスをituki@fc.to、転送メール受信アドレスをituki-mailgw@fc.to、 転送先をituki-relay@fc.to、エラーメール届け先をituki-error@fc.to としたとき、 To:のみを書き換えて転送 .qmail-mailgw | mail_relay.pl -X ituki-relay@fc.to メールサーバー側で転送処理を行う(メール送信者に転送先アドレスを公開したくない場合) .qmail-mailgw | mail_relay.pl -X -R ituki-error@fc.to -t ituki-mailgw-relay- fc.to ituki-relay@fc.to .qmail-mailgw-relay-default | mail_relay.pl -d -R ituki-error@fc.to -p X-Password PASS -f ituki-mailgw@fc.to -b ituki-mailgw-relay- fc.to ituki-relay@fc.to ituki-mailgw@fc.to宛のメールを、Return-Path: ituki-error@fc.to、From: ituki-mailgw-relay-perseFrom@fc.to、To: ituki-relay@fc.toとして転送 ituki-mailgw-relay-perseFrom@fc.to宛のメールにX-Password: PASSが含まれていれば、それを削除し、 perseFromのアドレスにメールを転送。このとき、Return-Path: ituki-error@fc.to、From: ituki-mailgw@fc.toとなる。 注意 mail_relay.pl -r の、-s -pを指定しない方法では、From固定で、任意のメールのリレーを許可することになります。 設定の方法次第では、メールのループが起こることがあります。 十分にご注意下さい。 使用について 勝手に使って下さい。 基本的に無料でのサポートは受けていません。(有料で設置……とかはメール下されば考えます) 設定方法 1行目の#!の後にperlのパスを入力してください。(/usr/bin/perl以外の場所にある場合) あとは、CGIのテキストに従って書き換えて下さい。 セキュリティホール……みたいなのはそうそう無いとは思いますが、ありそうだったらメールでお伝え下さい。 なおせる範囲でなおします。 書き換えについて 基本的に制限はしていませんが、メール送信時のヘッダから X-Relay-Program: mail_relay.pl ver 0.0 program by Timeplant/Ituki Kirihara/NI(http://fc.to/ituki/) を削除する事だけはやめてください。(有料でやっている場合は消しても良いですが。) ただし、 X-Relay-Program: mail_relay.pl program by Timeplant/Ituki Kirihara/NI(http://fc.to/ituki/) への書き換えはOKです(笑)(バージョン情報を表示したくない場合など) 書き換えたものの再配布も一応禁止と言うことでお願いします。 (パッチ形式で出す分にはかまいませんが、そんなに複雑なことをやっているわけでもないでしょうし……) 転載について このプログラム・テキスト等の転記・転載・再配布等は一切禁止します。 どうしても転載・転記・再配布等行いたい場合 ituki@fc.to までメールでご相談下さい。 著作権について TimePlant/Ituki Kirihara/NIはこのプログラムを使った事によって生じた一切の責任を負いません。 各自の責任で使用して下さい。 使用に関して、特に金銭的請求をすることはありません。 これらのプログラムの著作権は、TimePlant/Ituki Kirihara/NIが保有しています。 サポート メール ituki@fc.to にて受け付けております。バグ・意見等ありましたらどうぞ。 ただ、時間がないため、対応できるかはあやしいです(^_^; 以下の場所で関連情報等を公開しています http://fc.to/ituki/ このホームページは Ituki Kiriharaの趣味のページです(^_^; バージョン履歴 version 0.0 2002/02/17 公開(作成)。 (c) Copyright 2002 TimePlant/Ituki Kirihara/NI All rights reserved.