2016-05-29 8 views
-1

次の関数では、$ aFrom変数は "受信者"フィールドを受信者が返信できる電子メールアドレスに設定します。ただし、「from」という名前を追加したい場合はどうすればいいでしょうか。たとえば、私のメールアドレスは[email protected]ですが、その人がメールを受け取ったときに、そのメールが「John Doe」のものであることを確認してほしいと思います。彼らはまだ[email protected]に返信できるはずです。phpメール関数の "from"名の追加

public static function SendMail_HTML($aFrom, $aTo, $aSubject, $aMessage) { 
    $theHeaders = 
     'MIME-Version: 1.0' . "\r\n" . 
     'Content-type: text/html; charset=UTF-8' . "\r\n" . 
     'From: ' . $aFrom . '' . "\r\n" . 
     'Reply-To: ' . $aFrom . "\r\n" . 
     'X-Mailer: PHP/' . phpversion(); 

    mail($aTo, $aSubject, $aMessage, $theHeaders); 

} 
+0

を[email protected]するsendedではされますあなたはそれが 'からになりたいでしょう:ジョン・ドウ<[email protected]> '。 – ceejayoz

+1

[[email protected]の代わりに送信者名phpメールを変更する]の可能な複製(http://stackoverflow.com/questions/8365754/change-the-sender-name-php-mail-instead-of-sitenamehostname- com) –

答えて

0

'From'ヘッダーには、受信者の名前とメールアドレスを含めることができます。正しく書式を設定するだけです。

変更:

'From: ' . $aFrom . '' . "\r\n" . 

<>文字でメールアドレスを包むことにより、

'From: John Doe <' . $aFrom . '>' . '' . "\r\n" . 

に。次に、 "John Doe"部分を直接または変数を使用して正しい名前に置き換えます。

注:電子メールヘッダーで直接使用することを予定しているユーザーから受け入れる値は必ず守られるようにしてください。

+0

'とは何ですか?すべてについて? – Mike

+0

電子メールフィールドはどのように消毒するのですか? –

+0

@Mike、 "。" '。 "の部分は、作者によって投稿された元のコードにありました。それは必要ではなく、取り除くことができます。 – badandyomega

0

この変形を試すことができます。ここに新しい$aFromName引数があります。関数に送信者名を渡すために使用できます。この場合、受信者はたとえばJohn Doe <[email protected]>から電子メールを受け取ります。電子メールクライアントのみを示し「ジョン・ドウ」とあなたがこのメールへの返信かどうかは

function SendMail_HTML($aFrom, $aTo, $aSubject, $aMessage, $aFromName = '') 
{ 
    $aFrom = $aFromName === '' ? $aFrom : "$aFromName <$aFrom>"; 
    $theHeaders = 
     'MIME-Version: 1.0' . "\r\n" . 
     'Content-type: text/html; charset=UTF-8' . "\r\n" . 
     'From: ' . $aFrom . '' . "\r\n" . 
     'Reply-To: ' . $aFrom . "\r\n" . 
     'X-Mailer: PHP/' . phpversion(); 
    mail($aTo, $aSubject, $aMessage, $theHeaders); 
} 
+0

** OPはなぜこの異形を試すべきですか?それについて何が違うのですか?あなたがしたことを説明するテキストを追加してください。 – Mike

関連する問題