我有一个php页面,其中包含一个查询表单,该表单将自己称为表单操作。
完成后,表单将写入try-catch构造中的数据库。我想向管理员发送一封电子邮件,说明有人已将自己添加到数据库中。
所有代码都有效,直到:
if(mail($to, $subject, $message, $headers, '-f' . $from))
{ #And finally send them a thanks
header('Location: thanks.html.php');
exit();
} else {
echo 'Email did not send';
exit();
}
这个块上面的代码都有效,因为我写了一个数据库,并且'if'测试通过,因为重定向到感谢页面也有效!我错过了什么?
答案 0 :(得分:0)
好像您正在尝试使用 additional parameters
。
PHP手册
additional_parameters参数可用于传递额外的参数 配置为使用时发送邮件时使用的程序的参数 sendmail_path。
<?php
mail('nobody@example.com', 'the subject', 'the message', null, '-fwebmaster@example.com');
?>
尝试这样的事情。
$from
包含在 $headers
变量中,因此您无需指定。
<?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();
if(mail($to, $subject, $message, $headers))
{ #And finally send them a thanks
header('Location: thanks.html.php');
exit();
} else {
echo 'Email did not send';
exit();
}
?>
答案 1 :(得分:0)
最后......答案。代码没问题!我在垃圾邮件过滤网上反垃圾邮件过滤器。因为我用我自己的电子邮件地址测试脚本,所以它拒绝发送邮件,假设它是垃圾邮件!只要我输入一个全新的电子邮件地址,它就会发送电子邮件!
感谢所有提供帮助的人!