我是PHP新手,我正在使用mail函数发送无法正常工作的电子邮件.我得到了一条成功的消息,但它仍然没有用
相同的代码
<?php
$email_to = "abc@abc.com";
$email_subject = "Test mail";
$email_body = "Hello! This is a simple email message.";
if(mail($email_to, $email_subject, $email_body)){
echo "The email($email_subject) was successfully sent.";
} else {
echo "The email($email_subject) was NOT sent.";
}
?>
Run Code Online (Sandbox Code Playgroud)
我错过了什么,我是否需要包含此功能的任何文件..我来自asp.net&这是在网站上找到的基本脚本.
我尝试了与邮件相关的其他脚本,但他们也没有工作.
我在本网站上运行此脚本而不是本地主机
小智 66
如果您使用的是Ubuntu并且似乎sendmail不在/usr/sbin/sendmail
,请使用此命令使用终端安装sendmail:
sudo apt-get install sendmail
Run Code Online (Sandbox Code Playgroud)
然后运行重新加载mail()
编写的PHP页面.还要检查垃圾邮件文件夹.
这可能是您的php.ini文件中的SMTP配置问题.
由于您是PHP的新手,您可以在PHP安装文件夹的根目录中找到php.ini文件并检查SMTP =和smtp_port =并将值更改为
SMTP = your mail server e.g) mail.yourdomain.com
smtp_port = 25(check your admin for original port)
Run Code Online (Sandbox Code Playgroud)
如果您的服务器需要身份验证以发送邮件,请使用PEAR邮件功能.
“仅仅因为你发送了一封电子邮件并不意味着它会到达。 ”
发送邮件是一件严肃的事情——例如,您用作“发件人:”地址的域可能被配置为拒绝来自您的网络服务器的电子邮件。有关更长的概述(以及要检查的一些提示),请参阅http://www.codinghorror.com/blog/2010/04/so-youd-like-to-send-some-email-through-code.html