web-dev-qa-db-ja.com

[email protected]の代わりに送信者名phpメールを変更します

私は私のphpからメールを送信しようとしています:

$to = '[email protected]';
    $email_from = "[email protected]";

    $full_name = 'Suraj Hazarika';
    $from_mail = $full_name.'<'.$email_from.'>';



    $subject = "testing sender name";
    $message = "";
    $message .= '
            <p><strong>This is only a test . Please do not reply.</strong><br />
    ';
    $from = $from_mail;

    $headers = "" .
               "Reply-To:" . $from . "\r\n" .
               "X-Mailer: PHP/" . phpversion();
    $headers .= 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";        
    mail($to,$subject,$message,$headers);

私はチュートリアルに従っています 電子メールの代わりにPHP電子メールフォームの送信者名? ですが、ホスト名のある送信者名の電子メールをまだ受け取っています。

     From                              Date             Subject 
[email protected]  Fri, 11:24 pm       testing sender name
[email protected]  Fri, 11:24 pm       testing sender name
20
Suraj Hazarika

_$from_ヘッダーでは_Reply-To_のみを使用します。 Fromヘッダーに含める場合は、Fromヘッダーに設定する必要があります。

mail()コマンドの前に次のようなものを置きます。

_$headers .= 'From: ' . $from . "\r\n";
_
21
Trott

私はこの質問に似た言葉で異なるものを探して来たので、ここで私が探していたものを行う方法があります:

fromヘッダーで、アドレスを山括弧で囲み、その外側に「送信者名」を入れます。

from: Don Draper <[email protected]>\n

受信トレイにDon Draper の代わりに don.draperそして、それがその方法です。

18
Ben

PHPのmail()関数の5番目のパラメーターを利用して、メールの「エンベロープ」にFromアドレスを追加することもできます。

mail($to_mail, $subject, $message, $headers, "-f$from_email");

参照 ここ

メールのヘッダーとエンベロープに関するリファレンス here

サーバーの設定によっては、構成やメール転送エージェントの構成に応じて、これが許可されなかったり、警告がスローされたりする場合があります。 この回答 これに関してsendmailの「信頼できるユーザー」の更新について話します。

5
indextwo

Fromヘッダーを追加するだけです。このようなもの。

$headers .= "From: [email protected]";
1
Ben

From:をヘッダーに追加してみてください

$headers = "" .
           "Reply-To:" . $from . "\r\n" .
           "From:" . $from . "\r\n" .
           "X-Mailer: PHP/" . phpversion();
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";  

一部のMTAは、この定義を変更/無視してSPAMを回避し、PHP.iniで構成されたSMTPのユーザーでオーバーライドできます。

0
Paulo H.