在以下函数中,$ aFrom变量将“from”字段设置为收件人可以回复的电子邮件地址。但是,如果我想添加“from”名称该怎么办?例如,我的电子邮件地址是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);
}
答案 0 :(得分:0)
'来自'标头可以包含名称以及预期收件人的电子邮件地址。您需要做的就是正确格式化。
变化:
'From: ' . $aFrom . '' . "\r\n" .
到
'From: John Doe <' . $aFrom . '>' . '' . "\r\n" .
将电子邮件地址包装在&lt;&gt;中字符。然后,只需更换&#34; John Doe&#34;具有正确名称的部分,可以直接使用,也可以使用变量。
注意:请确保清理您计划直接在电子邮件标头中使用的用户接受的任何值。
答案 1 :(得分:0)
您可以尝试这种变体。这是新的$aFromName
参数,您可以将它用于传递发件人名称到您的函数,在这种情况下,接收者从例如John Doe <john@doe.com>
获取电子邮件。电子邮件客户端仅显示John Doe&#39;如果您回复此电子邮件,将发送至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);
}