Php Can';t使用gmail id从本地主机发送电子邮件

Php Can';t使用gmail id从本地主机发送电子邮件,php,email,gmail,Php,Email,Gmail,我正在使用Windows7和XAMPP1.8(mercury mail已打开),并尝试使用gmail id从本地主机发送电子邮件。但它不起作用。这是我的email.php: <?php $to="receiver.email@gmail.com"; $subject='the subject'; $message="dfdgh"; $headers='From:my.email@gmail.com'."\r\n".'Host:ssl://smtp.gmail.com'."\r\n".'Po

我正在使用Windows7和XAMPP1.8(mercury mail已打开),并尝试使用gmail id从本地主机发送电子邮件。但它不起作用。这是我的email.php:

<?php
$to="receiver.email@gmail.com";
$subject='the subject';
$message="dfdgh";
$headers='From:my.email@gmail.com'."\r\n".'Host:ssl://smtp.gmail.com'."\r\n".'Port:465'."\r\n".'Username:my.email@gmail.com'."\r\n".'Password:mypassword'."\r\n".'Reply-To:my.email@gmail.com'."\r\n".'X-Mailer:PHP/'.phpversion();
mail($to, $subject, $message, $headers);
?>
我执行代码后没有收到错误消息,但没有收到任何电子邮件

我做错了什么


-谢谢。

Gmail SMTP已停止在
465
SSL
上工作,因此请使用以下配置

以前它工作得很好,但现在它在下面的配置上工作

SMTP =tls://smtp.gmail.com
smtp_port = 587
tls://smtp.gmail.com
使用
587
SMTP\u端口
并使用
TLS

如果它不起作用,那么将SMTP=tls替换为SMTP=aspmx.l.google.com的行

mail($to, $subject, $message, $headers);
试着写下一个条件,看看邮件是否正在发送

if(mail($to, $subject, $message, $headers)){
echo 'Success';
}
else{
echo 'Failed';
}

还有一行(最后第二行):
ssl://smtp.gmail.com
您不需要在电子邮件头中添加主机、端口和密码。您是否检查xampp/mailoutput?@Kaii,对不起,我不明白,你能说清楚吗?试着去你的xampp/mailoutput文件夹检查邮件是卡在那里还是卡在mercury/Queue foldermailoutput文件夹中empty@user1844626您重新启动服务了吗?@user1844626请看这里
if(mail($to, $subject, $message, $headers)){
echo 'Success';
}
else{
echo 'Failed';
}