PHP邮件功能在服务器上不起作用

时间:2018-06-28 05:42:25

标签: php email

我最近转移了服务器,发现默认的PHP邮件功能不起作用,而该功能在先前的服务器中起作用。我通过编写简单的邮件功能进行了测试

$mailto="me@domain.com";  //Enter recipient email address here

$subject = "Test Email";

$from="you@domain.com";          //Your valid email address here

$message_body = "This is a test email from Webmaster.";

$mail =   mail($mailto,$subject,$message_body,"From:".$from);
var_dump($mail);
if($mail) {
    echo "Your email has been sent successfully";
} else {
    echo "not sent";
}

以上代码返回了我 false 的值。我用谷歌搜索。检查了我的PHP.ini。它还设置为google链接中提到的解决方案。

; For Win32 only. 

; http://php.net/sendmail-from

;sendmail_from =me@example.com

; For Unix only.  You may supply arguments as well
(default: "sendmail -t -i").  
; http://php.net/sendmail-path

sendmail_path = "/usr/sbin/sendmail -t -i"

我不是我所想念的。

2 个答案:

答案 0 :(得分:1)

它返回FALSE,这意味着您的邮件配置有问题。您将需要检查邮件日志,以查看是否遇到任何错误。更重要的是,php可能正在传递邮件,您的服务器可能正在发送邮件,并且在此过程中可能会过滤掉垃圾邮件。

<?php 
    mail('nobody@example.com', 'the subject', 'the message', null, '-fwebmaster@example.com'); 
?> 

答案 1 :(得分:-1)

  

语法

bool mail ( string $to , string $subject , string $message [, mixed $additional_headers [, string $additional_parameters ]] )
  

尝试这样

$mail =   mail($mailto,$subject,$message_body,null,"From:".$from);
  

引用   this