プロが教えるわが家の防犯対策術!

教えてください。使っているLinuxサーバ側に問題があるだと推測してここへ書き込みます。(間違っていたらスミマセン)最近CGIからsendmailで送ったメールが相手側のメールサーバにはじかれて帰ってきてしまいます。最初はCGI側の問題だと思い色々と修正を試みましたが回復しませんでした。ネットで色々と調べているうちに”SPAM対策”としてドメインなどを指定することによりメールを受け付けない設定があることを知りました。そこで帰ってきてしまっているメールのヘッダを調べると共通点がありそれが原因ではじかれていると予想しました。普通にメールを送ったときと、sendmailを使ったときの違いは
”Received: (from shop@localhost)”部分と
”Message-Id: <00000000000@localhost>”
が違っています。エラーで戻された理由が”Real domain name required for sender address”でしたので存在しないタイプのメールアドレスから送られたメールはSPAMとして受け取らないように設定されていると予想しました。
もしその推測が正しければ、どうすればこのような状況を回避できるのか教えてください。CGI側ではこれ以上設定する箇所が見当たらなくメールサーバ側で何かしないといけないんでしょうか?

A 回答 (2件)

解決したようで良かったですね。



# -t ではなく、-f でしたね。すいません。

なお、メールの送信者のアドレスチェック(正確にはドメインチェック)を行っているのは Biglobe に限った話ではありません。最近のメールサーバソフトにはその手の機能が大抵付いていますので、CGI といえどもキチンと対応しないと送れない宛先がいくらでも出てきます。

あと、-f でアドレスを指定すると、エラーが発生した場合でもそのアドレスにエラーが返ってくるようになります。もしあなたの CGI が個人情報を含んでいるようなメールを送っているのであれば、-f をつけずに送ったメールがエラーになった場合、大抵はそのサーバの管理者宛に届いてしまいます。怖いですよね ^^;)。
    • good
    • 0
この回答へのお礼

ありがとうございました。一応ファイルを変更して見ましが、まだそのSPAM対策されたアドレスからメールが入ってないため確認ができていません。ちなみに帰ってきたメールを確認するとOCNやDIONも同じように対策されてました。(yahooやmsnは未対策)

お礼日時:2005/09/06 13:34

CGI からどうやってメールを送信していますか? もし sendmail コマンドを使っているのであれば、-t オプションを使ってますか?



いずれにせよサーバではなく CGI 側の問題でしょう。適切にコードを書けば大丈夫だろうと思います。
    • good
    • 0
この回答へのお礼

早速アドバイスありがとうございました。利用しているサーバ管理者より以下のアドバイスをいただいたので、それでCGIを修正し結果待ち状態です。 if (!open(MAIL,"|$sendmail $email")) { &error; }を
if (!open(MAIL,"|$sendmail -f $myaddress $email")) { &error; }。今日もう一つ判明したのがBIGLOBEは今年<2005・7>からSPAM対策として送信元のアドレスをチェックしているそうです。これに引っかかってしまったと思われます。明日同じようなSPAM対策を行っているDIONにsendmailを使い送信してテストしてみたいと思います。

お礼日時:2005/09/05 23:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!