我在专用服务器(OVH Kimsufi,Debian 6.0 stable)中运行了这个PHP脚本。
<?php
$msg = "coucou les amis";
$sub = "test";
$head = 'From: webmaster@example.com' . "\r\n" . 'Reply-To: webmaster@example.com' . "\r\n";
echo mail("31415@yopmail.com", $msg, $msg, $head);
?>
邮件返回1但电子邮件从未收到过...如何解决?
答案 0 :(得分:2)
重要的是要注意,仅仅因为邮件已被接受发送,并不意味着邮件实际上会到达目的地。
PHP已发送消息。它是否到达目的地超出了PHP的控制范围。
答案 1 :(得分:1)
取决于您的服务器,您的服务器是否允许您使用php发送邮件
答案 2 :(得分:1)
有很多可能是错的。您是否正在使用Sendmail。也许您应该检查那些可能位于的日志。
cat /var/log/mail.log
或许您的电子邮件确实可以发送,但是会在垃圾邮件文件夹中发送?
我建议您使用例如Sendgrid外包发送电子邮件。每天发送少于200封电子邮件时,Sendgrid是免费的。
答案 3 :(得分:1)
问题是exim(= sendmail)默认配置。它不允许直接SMTP发送(仅限本地)。
# dpkg-reconfigure exim4-config
答案 4 :(得分:0)
您犯了一个错误并使用$msg
代替$sub
,其中主题被要求作为mail()
函数的参数。
$msg = "coucou les amis";
$sub = "test";
$head = 'From: webmaster@example.com' . "\r\n" . 'Reply-To: webmaster@example.com' . "\r\n";
echo mail("31415@yopmail.com", $sub, $msg, $head);
答案 5 :(得分:0)
在解决了holodoc帖子中描述的问题后,你应该考虑删除mail()
,这是不可靠的。