我正在尝试设置一个php脚本,它会向所选用户发送一封电子邮件,我在互联网上查看了但是无法运行脚本但是我得到了以下错误:
警告:mail()[function.mail]: “sendmail_from”未在php.ini中设置或 自定义“From:”标题丢失 E:\ PROGRAM Files \ xampp \ phpMyAdmin \ emailer.php on 第10行
以下是我按照示例设计的脚本代码:
<?php
$recipient = "<ismael.srcyber@gmail.com>";
$subject = "Flight Status";
$body = "Flight has just landed.";
$host = "ssl://smtp.gmail.com";
$port = "465";
if(mail($recipient, $subject, $body))
{
echo("<p>Message successfully sent</p>");
}
else
{
echo("<p>Message Delivery failed </p>");
}
?>
提前致谢。
答案 0 :(得分:1)
由于错误建议您必须在php.ini中添加默认的“from”字段(发送邮件的人):
SMTP = localhost
sendmail_from = me@localhost.com
然后重启apache
否则你可以将它作为第四个参数设置为php手册中所述的第四个参数(看http://php.net/manual/en/function.mail.php)
注意:
发送邮件时,邮件必须 包含From标头。这可以设置 使用additional_headers参数, 或者可以在php.ini中设置默认值。
如果不这样做,将导致 类似于警告的错误消息: mail():“sendmail_from”未设置 php.ini或自定义“From:”标题 失踪。 From标头也设置 Windows下的返回路径。
示例:
<?php
$to = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);