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.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 ****
のエラーが出てしまいます。
以前も出た気がします。
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.3
- 回答日時:
Return-Path: ヘッダは送信側でつけるヘッダではなく、最終的に受信するメールサーバーが EnvelopeFrom からつけるものです(そのサーバーの設定によりつけないこともある)。
また、メールサーバーのエラーメッセージはReturn-Pathヘッダをみてそこに返しているわけではなく、EnvelopeFromのアドレスに返しているので、送信側でReturn-Pathというヘッダを作っても無意味です。ここまでは経験者・自信あり。以下は一般人・自信なし。
EnvelopeFrom は sendmail の -f オプションで設定できるはずですが、効かないということは、/etc/php.ini の sendmail_path ですでに -f が指定されているのではないでしょうか?
ありがとうございます。
Return-Pathを設定してもだめですか。(-_-;)
php.iniはレンタルサーバですので変更できないから
だめですね。
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
私のところでは出なかったのでメールサーバーの環境によって違うのかもしれません。
参考にならなくて申し訳ないです
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- Gmail 【お助け!】サーバーからのメール送信でGmailに送信されない問題について 1 2023/06/20 22:03
- PHP php 完了画面の送信メールのコードを書いているのですが・・・ 2 2023/06/02 12:01
- 英語 この"e-mail"が複数形でもなく、無冠詞なのはなぜですか? 「表現のための実践ロイヤル英文法」に 1 2022/07/10 16:12
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- UNIX・Linux メールアドレスにホスト名が入らないようにする設定 2 2022/06/23 21:06
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- 迷惑メール・スパム ヘルスケア テクノロジーズ 1 2023/02/13 08:23
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPsendmailにて送信元を変更
-
mb_send_mailを実行するとエラ...
-
ローカル環境でのメール送信
-
phpでメール送信できません 原...
-
PHP CRONでメールの自動受信を...
-
mb_send_mailでのメール送信が...
-
PHPでメールを送信するには
-
複数行の文字列をメールのヘッ...
-
メールフォームのタイトルが文...
-
mail関数を使った場合のReturn-...
-
いいかげんxamppなんとかしたい...
-
フォントの色を変えるには?
-
onedrive にexcelファイルをア...
-
<大至急!>ご教授願います。
-
メレンゲの歴史
-
PHPのif文でその処理を途中で抜...
-
VBSの「MsgBox」について
-
こちらはただの直列処理ですか?
-
トランザクションが原因?DBに...
-
リンク先を隠す方法はないでし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
php 完了画面の送信メールのコ...
-
さくらサーバーにて、phpからメ...
-
メールフォームのタイトルが文...
-
PHPsendmailにて送信元を変更
-
mb_send_mail関数が利用出来ない
-
PHPからロリポップ!のメールサ...
-
VBA 添付ファイルをつけてメー...
-
mailやmb_send_mail関数で、本...
-
sendmailでエラーがでます
-
PHPでの仮登録時の会員認証メー...
-
phpでメール送信できません 原...
-
mb_send_mail() 第 4、5 引数の...
-
PHPMailerのコードエラーが解決...
-
ローカル環境でのメール送信
-
PHPからメールを送る@さくらイ...
-
PHPでメールを送信するには
-
mb_send_mailについて
-
mail関数を使った場合のReturn-...
-
メールの本文をSmartyにしたい
-
サーバーによってはmb_send_mai...
おすすめ情報