该网站是托管在共享主机上。当询问他们时,他们建议我使用smtp relay xx.xxx.x.xxx。
请纠正我,但是mail()函数没有提供相关支持,对吗?肯定是由HOST机器正确配置它的继电器?
我的问题是:这似乎是主机配置错误,还是我的代码?下面是我使用的邮件代码示例:
$to = "xxx@xxx.co.za"; //to who?
$subject = "Website Contact: $mysubject";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "From: $fname<$email1>\r\n";
$headers .= "Reply-To: $email1\r\n";
$headers .= "Return-Path:$email1\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";
$headers .= "Content-Transfer-Encoding: quoted-printable\r\n";
$msg2 = nl2br($msg);
$send = mail($to, $subject, $msg2, $headers); //process mail
if(!$send):
//error stuff here
endif;
非常感谢,Simon。
@eisberg - 我使用自定义错误处理程序,代码如下:
//error handler function
function customError($errno, $errstr){
$err = "\n".date('Y-m-d H:m:s')." Error: [$errno] $errstr";
$fh = fopen("errlog.txt", 'a+');
fwrite($fh, $err);
fclose($fh);
}
set_error_handler("customError", E_ALL);
这是否意味着我需要将
set_error_handler("customError", E_ALL);
更改为 set_error_handler("customError", -1);
?
E_ALL
并不等于-1
:-) - eisberg