我正在尝试创建一个php脚本,它将使用mySQL数据库为我处理邮件列表,而且我已经完成了大部分工作.不幸的是,我似乎无法使标题正常工作,我不确定问题是什么.
$headers='From: noreply@rilburskryler.net \r\n';
$headers.='Reply-To: noreply@rilburskryler.net\r\n';
$headers.='X-Mailer: PHP/' . phpversion().'\r\n';
$headers.= 'MIME-Version: 1.0' . "\r\n";
$headers.= 'Content-type: text/html; charset=iso-8859-1 \r\n';
$headers.= "BCC: $emailList";
Run Code Online (Sandbox Code Playgroud)
我收到的结果是:
"noreply"@ ryburskryler.net rnReply-To:noreply@rilburskryler.netrnX-Mailer:PHP/5.2.13rnMIME- Version:1.0
Luk*_*son 111
要显示名称,而不是显示的电子邮件地址,请使用以下命令:
"John Smith" <johnsemail@hisserver.com>
Run Code Online (Sandbox Code Playgroud)
简单.
关于断线,这是因为您将文本用撇号而不是引号括起来:
$headers = array(
'From: "The Sending Name" <noreply@rilburskryler.net>' ,
'Reply-To: "The Reply To Name" <noreply@rilburskryler.net>' ,
'X-Mailer: PHP/' . phpversion() ,
'MIME-Version: 1.0' ,
'Content-type: text/html; charset=iso-8859-1' ,
'BCC: ' . $emailList
);
$headers = implode( "\r\n" , $headers );
Run Code Online (Sandbox Code Playgroud)
Gum*_*mbo 10
在单个带引号的字符串中,只有转义序列\'
并\\
分别由'
和替换\
.您需要使用双引号来获取转义序列\r
并\n
替换为相应的字符:
$headers = "From: noreply@rilburskryler.net \r\n";
$headers.= "Reply-To: noreply@rilburskryler.net\r\n";
$headers.= "X-Mailer: PHP/" . phpversion()."\r\n";
$headers.= "MIME-Version: 1.0" . "\r\n";
$headers.= "Content-type: text/html; charset=iso-8859-1 \r\n";
$headers.= "BCC: $emailList";
Run Code Online (Sandbox Code Playgroud)
您还可以使用数组来收集标题字段并将它们放在一起:
$headers = array(
'From: noreply@rilburskryler.net',
'Reply-To: noreply@rilburskryler.net',
'X-Mailer: PHP/' . phpversion(),
'MIME-Version: 1.0',
'Content-type: text/html; charset=iso-8859-1',
"BCC: $emailList"
);
$headers = implode("\r\n", $headers);
Run Code Online (Sandbox Code Playgroud)