电子邮件标题为;“格式不正确”;使用php中的sendmail命令时。为什么?
我的sendmail命令有问题 我正在从数据库调用中提取值,它们看起来不错。 mail命令如下所示:电子邮件标题为;“格式不正确”;使用php中的sendmail命令时。为什么?,php,sendmail,malformed,Php,Sendmail,Malformed,我的sendmail命令有问题 我正在从数据库调用中提取值,它们看起来不错。 mail命令如下所示: sendmail(urldecode($row['tracker']),urldecode($row['recipient']),urldecode($row['docurl']),urldecode($row['last_accessed'])); function sendmail($vtracker,$vrecip,$vrawurl,$viewed){ $to = $vtrack
sendmail(urldecode($row['tracker']),urldecode($row['recipient']),urldecode($row['docurl']),urldecode($row['last_accessed']));
function sendmail($vtracker,$vrecip,$vrawurl,$viewed){
$to = $vtracker;
$subject = $vrecip . " has viewed the presentation you sent them.</br>";
$body= "Full document url: " . $vrawurl . "<br/>".
"Time and Date Viewed: :" .$viewed ;
if (!mail($to, $subject, $body)) {
echo("<p>Message delivery failed...</p>");
}
}
我收到一个错误(从服务器上的错误日志中检索到),看起来像这样
[error] [client 66.249.68.23] File does not exist: /var/chroot/home/content/m/3/s/m3sglobal/html/broadband/missing.html
[Tue Feb 21 20:17:15 2012] [error] [client 70.113.8.83] Failed loading /usr/local/zo/4_3/ZendOptimizer.so: /usr/local/zo/4_3/ZendOptimizer.so: undefined symbol: empty_string
[Tue Feb 21 20:17:17 2012] [error] [client 70.113.8.83] malformed header from script. Bad header=/home/content/m/3/s/m3sglobal/: Nitrofill_Presentation.php
为什么标题“格式不正确”?我认为花点时间在标题上不会有什么坏处 您的
to
字段中填充了Bob
。这不是一个合法的地址。有效电子邮件地址的格式相当复杂,但如今,地址的格式通常为localpart@domain
。(通常不支持通过%
用户名说明符或!
bang路径传递到地址的旧格式;此外,用户名@[]
在不同的服务器或配置上可能受支持,也可能不受支持。通常,电子邮件地址中必须有一个@
,才能将本地部分与域分开。)
您似乎正在使用用户提供的数据,但未确认该数据是否正在执行。(另请参见。)
您的subject
字段包含一个
,这是毫无意义的,因为subject:
标题被解释为纯文本。此字段似乎还使用了数据库提供的原始数据
消息正文还包括
,这是毫无意义的,因为您的消息不包含任何表示存在的标记。这不是sendmail命令,而是您编写的一个函数,名为“sendmail”,并调用PHP自己的mail()函数。您是否在CGI模式下运行PHP?SAPI模式下的PHP永远不会出现格式错误的标头错误。您正在将$vtracker
分配给$to
,但是,$vtracker
显示的值为Bob代码>但这不是有效的电子邮件地址。我想你已经用$vrecip
切换了。好的,我修复了参数和中断。这是输入字段的回音,以及我得到的错误消息:ZiFeCa75l greg。mcgee@advetel.com gregmcgee@yahoo.com2012年2月20日星期一10:36:22 CST警告:mail()[function.mail]:mail()函数的参数错误,邮件未发送。在第59行的/home/content/m/3/s/m3sglobal/html/nitrofill/tr/nitrofill_Presentation.php中,第59行是if(!mail($to,$subject,$message)){echo(消息传递失败…);您不能在注释中真正编码格式;他们只是一次性交易。最好是编辑你的原始问题并在那里添加新内容。我打算放弃这种方法。我的web主机(godaddy.com)提供了一个有效的web表单邮件程序。我只需要把我的数据字段连接到它,我已经开始工作了。谢谢你的意见。@I_小姐:呵呵,我不能怪你。与戈达迪联系更近是一件遗憾的事,但毫无疑问,正确地使用邮件是微妙而复杂的。
[error] [client 66.249.68.23] File does not exist: /var/chroot/home/content/m/3/s/m3sglobal/html/broadband/missing.html
[Tue Feb 21 20:17:15 2012] [error] [client 70.113.8.83] Failed loading /usr/local/zo/4_3/ZendOptimizer.so: /usr/local/zo/4_3/ZendOptimizer.so: undefined symbol: empty_string
[Tue Feb 21 20:17:17 2012] [error] [client 70.113.8.83] malformed header from script. Bad header=/home/content/m/3/s/m3sglobal/: Nitrofill_Presentation.php