我在我的Apache服务器(Ubuntu)上安装了sendmail
除了在使用php mail();
我在Apache错误日志中收到错误说:
/ usr / sbin / sendmail:找不到收件人
这是我使用该功能的方式:
$user_email = "myemail@gmail.com";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'To: ' . $user_email . "\r\n";
$headers .= 'From: Mydomain <do-not-reply@mydomain.com>' . "\r\n";
mail($user_email,"subject","message",$headers);
答案 0 :(得分:3)
$user_email = myemail@gmail.com
应该是
$user_email = "myemail@gmail.com";
答案 1 :(得分:1)
导致错误的原因是您有(在原始发布的代码中):
$user_email = myemail@gmail.com
包含引号和结束分号都不存在。
以下是正确的和正确的表单:
$user_email = "myemail@gmail.com";
它也可以这样写,使用单引号:
$user_email = 'myemail@gmail.com';
取自PHP.net上的mail()
函数
答案 2 :(得分:0)
我在我的ubuntu / apache2 / php设置上安装了ssmtp,我发现我必须在php.ini中设置sendmail参数
mail.force_extra_parameters = -t
据我了解,ssmtp模拟sendmail设置,-t参数强制mta扫描收到的邮件(来自PHP)以获取&#39; To:&#39;报头中。
作为一个注意事项,我还必须更改ssmtp安装创建的符号链接以包含bin的完整路径(ln -s / usr / sbin / ssmtp sendmail),以便找到该文件通过apache