正确格式化php mail()函数中的“from”

时间:2013-04-08 21:33:20

标签: php email gmail aol

我想让php生成的电子邮件的“发件人”部分来自公司名称。显然,这会使垃圾邮件过滤器感到悲伤。所以,我的代码是......

$mail->FromName = 'Company Name <some_email@domain.com>';

我的问题是gmail和aol不断返回这些电子邮件,而且部分看起来像这样......

From: "Company Name <some_email@domain.com>" <>

关于“&lt;&gt;”的任何想法最后?

2 个答案:

答案 0 :(得分:0)

<>末尾的"Company Name <some_email@domain.com>" <>表示该地址被解释为仅包含关联的名称部分,没有真实的电子邮件地址。

尝试将发件人地址生成为'Company Name' <some_email@domain.com>some_email@domain.com (Company Name)

修改 此问题的另一个可能原因是您的邮件程序使用单独的字段作为名称部分和From标头的地址部分。如果是这样的话:

$mail->From = "some_email@domain.com";
$mail->FromName = "Company Name"; 

应该解决问题。

答案 1 :(得分:0)

在任何体面的邮件程序(MUA)中,您应该能够看到您发送的电子邮件的原始内容和标题以及已发送给您的电子邮件。如果您看一下后者,您会发现正确的方法是:

$from='"Human readable version of address" <mailbox@domain.com>';

顺便说一句:你帖子的标题说你正在使用mail()函数,但是你的示例代码没有调用函数。您的代码暗示您是某种实现电子邮件的类,但您没有提供该类的详细信息 - 而AFAIK没有PHP中捆绑的标准类。因此,我们不知道您的代码实际上使用您提供给它的地址做了什么 - 如果它是现成的软件包应该带有文档。