2007年06月10日

sendmail の -f オプションってナニ?

先日、プロバイダーより、「設置しているCGIでsendmailを起動するものは、From ヘッダに,自身のメールアドレスを明示し、sendmail の -f オプションで,自身のメールアドレスを envelope sender として設定すること。これが行われていないメールは,どこにも配送せずに,サーバにて破棄させていただきます」という、呪文のようなお知らせが来た。
CGIスクリプトの悪用によるメールの大量送信を防止するための措置とのこと。

わたくしには宇宙語にも等しいこのお知らせの内容を数日もかけて解釈した結果、「サーバーに掲示板を自設して、管理者への投稿通知メールを設定しているアナタは、CGIプログラムのどこかをうんたらかんたらして書き変えないと、投稿通知メールが届かなくなりますよ」と言ってるんじゃないかと。
これは非常にゆゆしき事態でございます。
うさぎの本宅関係の掲示板、全滅?

確かに半月ほど前から、子宮体癌パブリックスクエアは、新規登録や修正があってもメールが届かなくなっている。
その原因が、プロバイダーの言っている「sendmail の -f オプションうんたらかんたら」なのか…。

どうにかしなくちゃならないのはわかってるんですが、何をどうすればいいのか、まったくわからな〜い。
インターネット上には、CGIの設定について相談に応じてくれるサイトさんもあるんですが、「質問する前に今までのQ&Aを全部見ておくこと」がお約束。
これを怠ると、-30度くらいの非常に冷たぁぁぁいレスが返ってくることも多いのだ。
「同じことを何度も何度も聞いてくるな〜!」という先様の気持ちはよくわかるので、Q&Aで既出がないか調べてみた。
ところが、わたくしは、

既出のQ&Aに書かれていることすら

理解できなかった orz


質問しても、いただいたお返事が理解できそうもないので、自力解決を試みる。
半日かけて、CGIプログラムを眺めた結果、

1.
# 管理者メールアドレス
$adm_mail = '';

2.
if(!open(MAIL,"| $sendmail -t")){&error('メール送信処理ができませんでした');}

この2点をどうにかするんじゃないかというところまでは、わかった。
あとは、当たって砕けろで…。

1は、
$adm_mail = '';

$adm_mail = '***@**.**.jp(自分のメールアドレス)';

でOKだと思う。

if(!open(MAIL,"| $sendmail -t")){&error('メール送信処理ができませんでした');}
をどうすればいいかは、まったくわからず。

-fオプションうんたらかんたらという話だったので、
if(!open(MAIL,"| $sendmail -t")){&error('メール送信処理ができませんでした');}
の赤字にしたところがアヤシイ。
ここをいろいろと変えてみますか…。

if(!open(MAIL,"| $sendmail -f")){&error('メール送信処理ができませんでした');}

500エラー

if(!open(MAIL,"| $sendmail -f ***@**.**.jp")){&error('メール送信処理ができませんでした');}

500エラー

ネットで調べまくった結果、@の前に¥をつけるべしという記載を発見。

if(!open(MAIL,"| $sendmail -f ***¥@**.**.jp")){&error('メール送信処理ができませんでした');}

500エラー

-tは取っちゃいけなかったかもしれないので、

if(!open(MAIL,"| $sendmail -f ***@**.**.jp -t")){&error('メール送信処理ができませんでした');}

500エラー

if(!open(MAIL,"| $sendmail -f ***¥@**.**.jp -t")){&error('メール送信処理ができませんでした');}

500エラー

はぅぅぅ orz

自分のメールアドレスをはじめに $adm_mail = '***@**.**.jp'; と宣言しているのを思い出し、

if(!open(MAIL,"| $sendmail -f $adm_mail -t")){&error('メール送信処理ができませんでした');}

動いたよ〜!

嬉し泣き。

今日は、いつもとは違う非常にカタイお話でしたが、同じことで四苦八苦している方がいらっしゃるんじゃないかということと、自分の覚書として書いておきます。
ただし、この話も「わたくしが使っているサーバーに現在通用した」というだけであり、別のサーバーになるとダメかもしれないです…。

☆☆☆人気blogランキングに参加しています☆☆☆



posted by ぴょんぴょん at 23:59| サイト管理者の憂鬱 | このブログの読者になる | 更新情報をチェックする
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。