Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mail()工作正常,为什么我不能接收任何邮件?_Php_Windows_Email - Fatal编程技术网

Php mail()工作正常,为什么我不能接收任何邮件?

Php mail()工作正常,为什么我不能接收任何邮件?,php,windows,email,Php,Windows,Email,我已经用php编写了以下代码,并保存为email.php <?php $to = "gomathi@gmail.com"; $subject = "Test mail"; $message = "Hello! This is a simple email message."; $from = "gomathi@gmail.com"; $headers = "From:" . $from; if( mail($to,$subject,$message,$from) ) echo "Mail

我已经用php编写了以下代码,并保存为email.php

<?php
$to = "gomathi@gmail.com";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "gomathi@gmail.com";
$headers = "From:" . $from;
if( mail($to,$subject,$message,$from) )
echo "Mail Sent to ur id check it .";
else
echo "Mail not Sent";
?>
2)修改php.ini邮件函数如下:

smtp_server=smtp.gmail.com
smtp_port=587
default_domain= gmail.com
auth_username=gomathii@gmail.com
auth_password=XXXXX
force_sender= gomathi@gmail.com
SMTP =smtp.gmail.com
smtp_port = 587
sendmail_from = gomathi@gmail.com
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

现在我在浏览器中运行email.php。它返回“发送给您的邮件id检查它”。但是邮件没有收到gomathi@gmail.com . 为什么未收到此邮件,请帮助我解决此问题。

看来您向邮件传递了错误的参数,并且您的$header从未使用过

bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
考虑在标题中传递给主题(&Subject)

$headers = array(
    'From' => $from,
    'To' => $to,
    'Subject' => $subject
);
以及在电子邮件地址中添加尖括号

完整的工作示例应为:

<?php
$to = "<gomathi@gmail.com>";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "<gomathi@gmail.com>";
$headers = "From:" . $from;
if( mail($to,$subject,$message,$headers) )
    echo "Mail Sent to ur id check it .";
else
    echo "Mail not Sent";
?>


也可以考虑使用SSL端口465。< /P>你如何配置你的SMTP服务器?或者你的服务器没有被正确配置,SMTP服务器没有被正确配置,电子邮件地址不正确,或者它被发送到你的垃圾邮件中。邮件返回true并不意味着邮件被发送,它只是意味着电子邮件发送子系统。(如sendmail)接受该邮件为有效邮件。由于多种原因,该邮件可能无法实际到达目的地。是否签入垃圾邮件?在php.ini中更改sendmail\u path=“C:\xampp\sendmail\sendmail.exe-t”