簡體   English   中英

在php郵件功能中添加“發件人”名稱

[英]Adding a "from" name in php mail function

在以下函數中,$aFrom 變量將“發件人”字段設置為收件人可以回復的電子郵件地址。 但是,如果我想添加一個“來自”名稱怎么辦。 例如,我的電子郵件地址是 johndoe@gmail.com,但是當此人收到電子郵件時,我希望他們看到該電子郵件來自“John Doe”。 不過,他們應該仍然可以回復 johndoe@gmail.com。

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);

}

“發件人”標題可以包含目標收件人的姓名和電子郵件地址。 您需要做的就是正確格式化它。

改變:

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

進入

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

通過將電子郵件地址包裹在 <> 字符中。 然后,直接用正確的名稱或變量替換“John Doe”部分。

注意:請確保清理您從計划直接在電子郵件標頭中使用的用戶那里接受的任何值。

你可以試試這個變體。 這是新的$aFromName參數,您可以使用它來將發件人姓名傳遞給您的函數,在這種情況下,接收者會從例如John Doe <john@doe.com>獲取電子郵件。 電子郵件客戶端僅顯示“John Doe”,如果您回復此電子郵件,它將發送至 john@doe.com

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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM