我在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";
?>
我更改了要发送的电子邮件的配置文件。 1)更改sendmail.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
和2)更改了php.ini邮件功能如下:
SMTP =smtp.gmail.com
smtp_port = 587
sendmail_from = gomathi@gmail.com
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
现在我在浏览器中运行email.php。它返回&#34;邮件发送到你的id检查它。&#34; 。但邮件并没有从gomathi@gmail.com收到。为什么没有收到请帮我解决这个问题。
答案 0 :(得分:0)
您似乎将错误的参数传递给邮件,并且永远不会使用您的$标头。
bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
考虑传入To&amp;标题中的主题。
$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。