Name: ぜんの (HOME) Date: 03/13 13:29気になったので 少し時間を割いてCGIのソースをみて実験してみました
そういえば昔私も自作のメール送信プログラムを作るときに 他のメールフォームを真似ると自動返信したメールが Yahooメールなどで迷惑メールとして振り分けられる問題が あってそのときに調べたのを思い出しました。
open(OUT,"| $sendmail -t) となっている部分を open(OUT,"| $sendmail -t -f$return") と -f オプションでFROMアドレスを指定すれば大丈夫です。
どんな環境でも使えるかどうかはわかりませんが 普通は大丈夫なはずです。
そんなこと言われてもどこをいじるんだか、わかんなーいと言われるでしょうから で大サービスでこう変更するんだよと言う見本を下記に。 (CGIの作者様が改造する事を許可されているかは調べてませんので注意)
実際に (c)rescue.ne.jp 様の http://www.rescue.ne.jp/cgi/webform/ WebFORM v4.0 is Free. (SJIS仕様) を 変更すると仮定すれば。。。
------------------------------------------------------- 21行目 #■受信先メールアドレス 22行目 $mailto = '送信先Eメールアドレス'; 23行目 24行目 #■名称 -------------------------------------------------------
の部分を
------------------------------------------------------- 21行目 #■受信先メールアドレス 22行目 $mailto = '送信先Eメールアドレス'; 23行目 24行目 #■エラーの戻り先(エンベローブFROMアドレス) 25行目 $return = '送信先Eメールアドレス以外の実在アドレス'; 26行目 27行目 #■名称 -------------------------------------------------------
と変更します また
------------------------------------------------------- 157行目 sub sendmail { 158行目 159行目 if (!(open(OUT,"| $sendmail -t"))) { &error('システ//---行末まで省略(本当はある) 160行目 161行目 print OUT "X-Mailer: WebFORM v4.0 by www.rescue.ne.jp\n"; 162行目 print OUT "X-HTTP_REFERER: $ref\n"; 163行目 print OUT "Errors-To: $mailto\n"; -------------------------------------------------------
を
------------------------------------------------------- 160行目 sub sendmail { 161行目 162行目 if (!(open(OUT,"| $sendmail -t -f$return"))) { &error('システ//---行末まで省略(本当はある) 163行目 164行目 print OUT "X-Mailer: WebFORM v4.0 by www.rescue.ne.jp\n"; 165行目 print OUT "X-HTTP_REFERER: $ref\n"; 166行目 print OUT "Errors-To: $return\n"; -------------------------------------------------------
と変更すれば問題ないことをテストしました。
sendmail に -f オプションが使用可能かは Webサーバーの管理者に聞いてください。 CGIの改造が許可されている範囲かは作者に聞いてください。
返信する |