使用 PHP 发送邮件时删除未验证的 gmail 警告电子邮件

bor*_*mat 4 php smtp

早上好,我想删除使用 php 发送电子邮件时的 gmail 警告“gmail 无法验证 ...@... 已发送此邮件”。

我知道这是因为我使用了没有身份验证的电子邮件功能 php 所以我尝试了 PHPMailer 和 PHP pear 但页面一直转动直到无限并且什么也没发生。我的主人是 1&1。我尝试使用 gmail 而不是 smtp 和 account 而不是 1&1 但结果相同。

<?php
    // Pear Mail Library
    require_once "Mail.php";
    $from = '<***@motelavigna.co>'; //change this to your email address
    $to = '<***@gmail.com>'; // change to address
    $subject = 'Insert subject here'; // subject of mail
    $body = "Hello world! this is the content of the email"; //content of mail

    $headers = array(
        'From' => $from,
        'To' => $to,
        'Subject' => $subject
    );

    $smtp = Mail::factory('smtp', array(
            'host' => 'auth.smtp.1and1.fr',
            'port' => '465',
            'auth' => true,
            'username' => '***@***.co', //co is not an error
            'password' => '***' // your password
        ));

    // Send the mail
    $mail = $smtp->send($to, $headers, $body);
?>
Run Code Online (Sandbox Code Playgroud)

谢谢。

Nev*_*Nev 5

我最近也遇到了这个问题,并意识到问题不是来自 PHP 脚本,正如我最初想到的那样,而是因为没有域名的 SPF 记录。

SPF 记录标识允许哪些邮件服务器从特定域名发送电子邮件。如果域没有 SPF 记录,则 Gmail 无法验证电子邮件是否来自正确的位置。

巧合的是,我也使用 1&1,因此请参阅此处了解如何为 1&1 设置 SPF 记录。您需要使用的值是:

v=spf1 include:_spf.perfora.net include:_spf.kundenserver.de -all
Run Code Online (Sandbox Code Playgroud)

您还可以通过在 Gmail 中点击电子邮件顶部的箭头,然后按“显示原件”来检查电子邮件是否通过了 SPF 测试。

在此处输入图片说明