
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)
上記のように記述してみたのですが、だめでした。
よろしくお願いいたします。
No.4ベストアンサー
- 回答日時:
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
私のところでは出なかったのでメールサーバーの環境によって違うのかもしれません。
参考にならなくて申し訳ないです
No.3
- 回答日時:
Return-Path: ヘッダは送信側でつけるヘッダではなく、最終的に受信するメールサーバーが EnvelopeFrom からつけるものです(そのサーバーの設定によりつけないこともある)。
また、メールサーバーのエラーメッセージはReturn-Pathヘッダをみてそこに返しているわけではなく、EnvelopeFromのアドレスに返しているので、送信側でReturn-Pathというヘッダを作っても無意味です。ここまでは経験者・自信あり。以下は一般人・自信なし。
EnvelopeFrom は sendmail の -f オプションで設定できるはずですが、効かないということは、/etc/php.ini の sendmail_path ですでに -f が指定されているのではないでしょうか?
ありがとうございます。
Return-Pathを設定してもだめですか。(-_-;)
php.iniはレンタルサーバですので変更できないから
だめですね。
No.2
- 回答日時:
#1の方のmb_send_mailを単にmailにするだけで行きませんか?
第4引数が追加ヘッダーになっているので、そこに追加すれば良さそうな気がしますが・・・
参考URL:http://www.php.net/manual/ja/function.mail.php
ありがとうございます。
メールヘッダーを見ると
Return-Path: <****1@.co.jp>
・・・
Return-Path: ****2@.co.jp
と表示されています。
はじめに表示される
****1@.co.jpはApache側で設定されているメールアドレスで、
複数行下に表示されている
****2@.co.jpは実際に利用したいメールアドレスです。
上の
Return-Path: <****1@.co.jp>
を消したいのですが。
No.1
- 回答日時:
使用している関数は違いますが以下のようにしてエラーメールが Return-Path: に指定したアドレスに返ってきます。
mb_send_mail($send_mail_to, "社内掲示板にメッセージが投稿されました", $message_body,
"From: webmaster@{$_SERVER['SERVER_NAME']}\r\n" .
"Return-Path: $email\r\n" .
"Date: ".date("r")."\r\n" .
"Reply-To: webmaster@{$_SERVER['SERVER_NAME']}\r\n" .
"X-Mailer: PHP/" . phpversion() . "\r\n");
$email にエラーが返る。
ちなみに PHP-4.3.11 です。
ありがとうございます。
私も以前mb_send_mail関数を使っていましたが、
バグがあるようなことが書いてあったので、
mail関数に変更しました。
上記のように変更し実行すると
Warning: mb_send_mail(): SMTP server response: 451 See http://pobox.com/~djb/docs/smtplf.html. in ****
のエラーが出てしまいます。
以前も出た気がします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セッション関数を使わずにファ...
-
PHP8でWarning:Undefined varia...
-
phpの問い合わせフォームを作っ...
-
composerをインストールしたい...
-
SplFileObject を利用したとき...
-
PHP8を使うと、大量のWarningが...
-
PHPで訪問回数を表示するカウン...
-
PHPのエラーの解消法について教...
-
c言語 文字 - '1'+26
-
marginの値でマイナス値を設定...
-
submitで思うようにページが遷...
-
HTML PHP ラジオボタンのイベント
-
php でqiitaのサイトにあったフ...
-
PHPの勉強してます。 配列のと...
-
BASIC認証のフォームをデザイン...
-
アップロードファイルを表示す...
-
複数のパソコンの中の1つのパソ...
-
返信機能のツリー構造の深さを...
-
PHPについて。
-
phpのheader("Location:#pos")...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
さくらサーバーにて、phpからメ...
-
phpでのメール転送(添付ファイ...
-
PHPからメールを送る@さくらイ...
-
mailやmb_send_mail関数で、本...
-
サーバーによってはmb_send_mai...
-
PHPMailerのコードエラーが解決...
-
mb_send_mail関数が利用出来ない
-
ワードプレス 予約システム
-
PHPでメールを送信するには
-
php 完了画面の送信メールのコ...
-
excel VBAでメールを送る方法に...
-
PHPからロリポップ!のメールサ...
-
メール送信プログラム
-
mb_send_mail() 第 4、5 引数の...
-
PHPで、複数のアドレスにメール...
-
ローカル環境でのメール送信
-
excel VBAでメールを送る方法に...
-
VBA 添付ファイルをつけてメー...
-
【初歩?】変数をセットできな...
-
POP Before SMTPでメールを送信...
おすすめ情報