ドコモユーザーなら、ドコモ光が断然おトク

メール配信システム
http://www.ahref.org/cgi/acmailer/acmailer.html
を使用しているのですが
宛先不明アドレスは指定したアドレスに届き
不着メールとして処理される機能があるのですが
不着メールアドレスを入力しても、指定したアドレスにエラーメールが届きません。
サーバはさくらインターネットライトプランを使用しています。
どうすればReturnPathを指定できますでしょうか?
よろしくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

メールサーバ(MTA)がエラー時にエラーメールを返す先は、


Return-Path でも Errors-To でもなく、
メールの本文/ヘッダ外の「Envelope From」に指定したアドレスになります。

acmailer のスクリプトを見たところ、
MTA が qmail の場合は Envelope From を指定してますが、
MTA が sendmail の場合は Envelope From の指定をしていないようです。

試しに、システム設定で、「QMAIL」のチェックを入れてみてください。
さくらインターネットはMTAとして sendmail を使用していますので、
本来はこのチェックを入れてはいけないのでしょうけど、
スクリプトを見たかぎりでは、この設定は、上述の Envelope From の指定の有無のみに使われているようです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
とても参考になりました。
ご指摘の通り、「QMAIL」のチェックを入れたら
指定したアドレスにエラーが送信されるようになりました。
助かりました。

また、メール配信時、半角カタカナや携帯用絵文字を使えるにするにはどうしたらよいのでしょうか?
ご存知でしたらご教授頂けると幸いです。

お礼日時:2009/02/14 07:07

ちょっと補足です。



回答No.3でsendmailの-fオプションを解説されていますが、
これが、Envelope From を指定する方法です。

MTAとしては、sendmail が先発で圧倒的なシェアがあるため、
qmail や postfix などの後発の MTA は、乗り換えしやすくするため、「sendmail」という名前の、sendmail互換のプログラムを用意しています。
acmailer は、実際に使用するMTAに関係なく、sendmail を使うようになっている(qmailやpostfixもsendmailというプログラムがあるので、それで動作は問題ない)のですが、
MTAが「QMAILである」と設定した場合には、-fオプションを付けてsendmail を起動するようになっているのです。
    • good
    • 1

sendmailなら -f スイッチを使います。


-tスイッチを使っているならその後に、-fReturnPathに設定するアドレス
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2009/02/14 07:08

ReturnPath はメールサーバが自動で付加するヘッダーですので指定することは出来ません。


エラーメールの戻り先を指定する場合は Errors-To ヘッダーを使用するのがいいかと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2009/02/14 07:07

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QReturn-Path のデフォルト設定はどこですか?

Vine Linuxの自宅サーバでCGIやPHPのメール自動送信スクリプト(メールフォームやメルマガやブログのコメントなどなど・・・)で、Return-Pathを設定しないで送信すると、なぜかReturn-Pathがrootならまだ良いのですがそのスクリプトとは全く関係ない普通のユーザーのメールアドレスが設定されてしまいます・・・ちなみに普通のユーザーは自分1人だけなので自分のプライベートアドレスなわけですが・・・

もちろんスクリプトを使用しない通常のメール送信のReturn-Pathは全く問題なくFromのアドレスが適用されます。

CGIのスクリプトの中をのぞいてsendmailの送信部分にオプション -f でReturn-Pathアドレスを指定すれば問題なかったのですが、他にも色々メール送信部分があるのですべて直すのは難しく根本的なところを直したいのですが、どこにReturn-Path のデフォルト設定(指定しない場合の設定)はあるのでしょうか?・・・こんな設定をした記憶はないのですが・・・せめてプライベートアドレス以外にしたいのですが・・・・

サーバのメールソフトは送信サーバにPostfix SMTP-AUTH、 受信サーバにcourier-imapを使用していますが、CGI でのメール送信はPostfix互換?のsendmailで行っています。


以上よろしくお願いします。

Vine Linuxの自宅サーバでCGIやPHPのメール自動送信スクリプト(メールフォームやメルマガやブログのコメントなどなど・・・)で、Return-Pathを設定しないで送信すると、なぜかReturn-Pathがrootならまだ良いのですがそのスクリプトとは全く関係ない普通のユーザーのメールアドレスが設定されてしまいます・・・ちなみに普通のユーザーは自分1人だけなので自分のプライベートアドレスなわけですが・・・

もちろんスクリプトを使用しない通常のメール送信のReturn-Pathは全く問題なくFromのアドレスが適用され...続きを読む

Aベストアンサー

>そのスクリプトとは全く関係ない普通のユーザーのメールアドレスが設定されてしまいます

ユーザAがスクリプトを実行しているのにユーザBのアドレスが設定されると言うことですか?そんなはずはないのですが。cgiで実行と言うことは、実行ユーザはapacheですか?

sendmailコマンドで送信しているなら、-f を付けない限り、「実行ユーザ@ホスト名」がEnvelope-Fromになり、受信時にReturn-Pathにセットされます。実行ユーザ以外にしたければ、-f を付ける必要があります。ということで、apacheユーザで実行しているなら、「apache@ホスト名」になるはず。


Envelope-Fromを固定にするのは、postfixの設定で簡単にやる方法はないと思います。無理にやるとすると、sender_canonical_mapあたりを使うんでしょうね。

Qmail関数を使った場合のReturn-Pathは?

Apache 1.3.33
PHP Version 4.4.1

$header = "From:".$_from;
$header .= "Return-Path:".$_from;
のようにヘッダー部を設定し、mail関数を使っています。
$result = mail($_email, $subject, $message, $header);
しかし、Return-Pathが反映されていないようで、
メールが届かない場合などの、
「failure notice」メールが
Apache側で設定されているメールアドレスに
送信されてしまいます。

どのように設定すればよろしいのでしょうか?

またパラメータを使って
$header = "From:".$_from;
$para ="-f".$_from;
$result = mail($_email, $subject, $message, $header,$para)

上記のように記述してみたのですが、だめでした。

よろしくお願いいたします。

Apache 1.3.33
PHP Version 4.4.1

$header = "From:".$_from;
$header .= "Return-Path:".$_from;
のようにヘッダー部を設定し、mail関数を使っています。
$result = mail($_email, $subject, $message, $header);
しかし、Return-Pathが反映されていないようで、
メールが届かない場合などの、
「failure notice」メールが
Apache側で設定されているメールアドレスに
送信されてしまいます。

どのように設定すればよろしいのでしょうか?

またパラメータを使って
$header = "From:".$_from;
...続きを読む

Aベストアンサー

No.1回答者です

No.3回答者さんの言うように
mail()関数第4パラメータにReturn-Path をつけないと、
メールクライアントでのReturn-Pathにはサーバーの設定したメールアドレスになっていました。
逆に付けると、Return-Pathで指定したアドレスになりました
メールサーバーのログを見ると、
Return-Path を付けた場合には
msg aaaaa bytes from (Return-Pathのアドレス)
付けない場合には
msg aaaaa bytes from (サーバーのアドレス)
でした。これがEnvelopeFrom に相当

私のところの環境ではEnvelopeFrom に対してどうやら上書きするようです。

>SMTP server response: 451
私のところでは出なかったのでメールサーバーの環境によって違うのかもしれません。

参考にならなくて申し訳ないです

Q宛先不明メールの行き先

宛先不明メールについて
以下の2点について教えてください。

1.宛先不明メールはどこに返されるのか
 (From?Reply-to?)

2.返した先も不明だった場合、
 そのメールはどうなるのか
 (偽装によるもの)

SPAMに対して宛先不明を返すソフト、
というのがあって、その辺りが気になっています。
もちろんこの対策が気休め程度なのは知っていますが。
よろしくお願いします。

Aベストアンサー

>エラーを返すサーバが自動でReturn-Pathを付けるから、
>最初にエラーを出した側に返ってお終い、ということになるのでしょうか?

MTAがsendmailの場合ですが、sendmail.cfで以下の様に設定されています。

# who (if anyone) should get extra copies of error messages
O PostmasterCopy=Postmaster

宛て先不明で返ってきたエラーメールの受取人が不明の場合、
さらに他のメールサーバに転送される事はありません。
PostmasterCopyで指定したPostmasterアカウントに配送されて終わりです。

アカウントPostmasterはaliasesファイルで

Postmaster : root

と、指定されている事が普通で、最終的にはrootアカウントにエラーメール
として配送されて終わりです。


人気Q&Aランキング

おすすめ情報