我已经确认在php.ini和sendmail.ini中设置email。但是我没有收到任何电子邮件。这里是我的代码
<?php
$to="someone@gmail.com";
//$to="someone2@yahoo.com";
$subj="test";
$mess="Sloth";
$header="testing";
$from="From: someone3@gmail.com";
if($mailsend=mail($to,$subj,$mess,$header,$from))
{
echo 'sent';
}
else
{
echo 'error';
}
它输出sent
没有任何错误,但我没有收到任何gmail。
通过PHP系统发送邮件时,配置不当的邮件设置通常会被拒绝为垃圾邮件,甚至无法到达目的地。最常见的是商业电子邮件服务,如谷歌,hotmail &雅虎。
这里的解决方案是使用一个配置几乎完美的类,它将通过将邮件发送到目的地来实现预期的结果。
我推荐http://code.google.com/a/apache-extras.org/p/phpmailer/
我在我的大多数邮件应用程序中使用这个,它很容易使用,并且每次都将邮件发送到目的地。
主要问题是您的头$header="testing";
更改为适当的头,或将其与$header,
一起删除,它将启动。同时去掉$mailsend=
,没有提到它。
(测试) mail()
不是发送的也不是使用你的代码接收的;不是现在的形式。
加上,至少它最终会出现在Spam中,但事实并非如此。
(作品)
<?php
$to="someone@yahoo.com";
$subj="test";
$mess="Sloth";
$from="From: someone2@gmail.com";
if(mail($to,$subj,$mess,$from))
{
echo 'sent';
}
else
{
echo 'error';
}
下面是一个基本的头文件示例:
(作品)
$to = 'you@example.com';
$mail_from = "email@example.com";
$subject = 'Message sent from website';
$message = "Message here";
$name = "Name here";
$header = "From: $name <$mail_from>";
// Send it
$sent = mail($to, $subject, $message, $header);
if($sent) {
echo "Success";
} else {
echo 'Sorry, your message could not be sent.';
}
查看更多信息:
- 访问PHP.net查看邮件头。