我编写了以下PHP脚本,以根据表单输入发送电子邮件:
<?php
$to=$_POST["email"];
$subject=$_POST["subject"];
$message=$_POST["message"]."<br />".'<img src=imgdir/'.$_POST["banimg"].'"/><br /><br />'.'<img src=addir/'.$_POST["adimg"].'"/><br /><br />';
$from="foo@example.com";
$headers=array();
$headers[]="MIME-Version: 1.0";
$headers[]="Content-type: text/html; charset=iso-8859-1";
$headers[]="Content-Transfer-Encoding: 8bit";
$headers[]="From: ".$from;
$advertised=mail($to,$subject,$message,join("\n",$headers));
if ($advertised){
echo "Working";
}
?>
我的回音“工作”返回为真,因此脚本正在完成,但是,电子邮件未送达。
我的代码中是否存在问题?
达斯汀
答案 0 :(得分:1)
php手册指出Multiple extra headers should be separated with a CRLF (\r\n).
可能是问题的根源。除此之外,请确保为本地服务器正确配置了php.ini中的电子邮件设置,并确保在服务器上安装并运行了诸如sendmail或smtp之类的mta。