0

在php邮件功能中,当我们发送标题时,我们可以将“From Mail”设置为“Company Newsletter”这样的单词,而不是像newsletter@company.com这样的电子邮件形式?我们怎么能这样做?因为写它(不是以电子邮件形式)会阻止发送电子邮件。

这是我的代码:

  $headers  = "MIME-Version: 1.0\r\n";
  $headers .= "Content-type: text/html; charset=windows-1256\r\n";

我试过蒂姆建议的,有

  $row['SenderMail'] =  "Company Newsletter <Newsletter@ids.com.lb>";
  $headers .= "From:".$row['SenderMail']."\r\n"; 

  $subject=str_replace('%26','&',$row['Subject']);

  @mail($row['DestinationMail'], $subject, $row['Body'],$headers);

但是仍然没有发送电子邮件。有什么帮助吗?

4

3 回答 3

2

以下是有效的 From: 标头 - 请注意地址在尖括号中:

"Company Newsletter <newsletter@company.com>"

许多电子邮件客户端只会在界面的“发件人”列中显示公司通讯。

请注意,这在 Return-Path: 标头中是不允许的,只有 From:

注意 RFC 2822 3.4 https://www.rfc-editor.org/rfc/rfc2822#section-3.4中的“显示名称”

于 2012-10-02T10:00:24.597 回答
0

请使用以下内容:

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=windows-1256'."\r\n";
$headers .= 'To: '.$row['SenderMail'].' <'.$row['SenderMail'].'>'."\r\n";
$headers .= 'From: Company Newsletter <Newsletter@ids.com.lb>'."\r\n";

mail($row['DestinationMail'], $subject, $row['Body'], $headers);

这应该够了吧 !

于 2012-10-02T12:20:45.043 回答
0

我刚刚重新检查过,它正在使用一个基本示例,例如:

$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=windows-1256'."\r\n"; 
$headers .= 'To: Test <your@email.com>'."\r\n"; 
$headers .= 'From: Company Test <company@test.com>'."\r\n"; 

mail('Test <your@email.com>', 'test mail', 'test content', $headers);

你在哪个 PHP 版本下?您是否配置了邮件服务器?您能否将这些行放在脚本的顶部:

ini_set('display_errors', 'On');
error_reporting(E_ALL | E_STRICT); 
于 2012-10-03T07:37:22.053 回答