问题描述
当发件人地址是非 Gmail 地址时,以下代码可以正常工作。
但是,当我使用 Gmail 地址 作为 发件人 地址时,我没有收到电子邮件。我也检查过垃圾邮件。
你能说出这种行为的任何原因吗?
<?PHP
// validation expected data exists
if (!isset($_REQUEST['emailto']) ||
!isset($_REQUEST['emailsub']) ||
!isset($_REQUEST['emailfrom']) ||
!isset($_REQUEST['emailsub'])) {
exit;
}
$emailto = $_REQUEST['emailto'] ;
$emailsub = $_REQUEST['emailsub'] ;
$emailfrom = $_REQUEST['emailfrom'] ;
$emailmsg = $_REQUEST['emailmsg'] ;
// create email headers
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=utf-8\r\n";
$headers .= "From: " . $emailfrom . "\r\n";
$headers .= "Reply-To: " . $emailfrom . "\r\n";
$headers .= "X-Mailer: PHP/" . PHPversion();
mail($emailto,$emailsub,$emailmsg,$headers));
?>
谢谢
解决方法
为了使用某些 GMAIL.COM 电子邮件地址作为发件人地址,您必须使用 GMAIL.COM SMTP 服务器来发送电子邮件。最好的办法是使用 phpMailer,就像已经提到的 @biesior 一样。