无法在 PHP 中向 gmail 地址发送电子邮件

问题描述

我正在尝试从 PHP 发送电子邮件

发件人地址是非 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 一样。