2012-02-28 109 views
12

设置电子邮件发件人的名字所以我想from场当电子邮件被打开,是这样的我如何通过PHP

"Jack Sparrow Via somesite"而不是一个明确的电子邮件地址。

我想知道如何在PHP的mail()函数中设置它?

回答

9

你必须设置你的头:

$to = "[email protected]"; 
$header = "FROM: Jack Sparrow <[email protected]>\r\n"; 
$message = "Your message here."; 
$subject = "Your subject"; 

mail($to,$subject,$message,$header) or die(); 
28

您可以使用基本的头做到这一点。

<?php 
$to  = '[email protected]'; 
$subject = 'the subject'; 
$message = 'hello'; 
$headers = 'From: Jack Sparrow <[email protected]>' . PHP_EOL . 
    'Reply-To: Jack Sparrow <[email protected]>' . PHP_EOL . 
    'X-Mailer: PHP/' . phpversion(); 

mail($to, $subject, $message, $headers); 
?> 
+3

**注:**当你想要一个'\ r \ N'它能够更好地使用'PHP_EOL'使它兼容所有系统 – 2012-02-28 19:27:34

+1

这是否仍然适用于此?据我所知,PHP_EOL给出了服务器使用的行结束符,但这应该专用于电子邮件标题的标准,而不是服务器。 – 2016-04-11 18:11:29

2

只是用这样

$headers .= 'From: [Name of the person]'.'<'. $this->from .'>'. "\n"; 
在报头部分

2

如果你从GitHub使用PHP梅勒,然后你要做到这一点:

$mail->SetFrom("[email protected]", "MIBC");