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

时间:2017-02-19 15:48:39

标签: php smtp

早上好, 我想删除gmail警告'当我用php发送电子邮件时,gmail不会验证... @ ...发送此消息'。

我知道这是因为我使用了没有身份验证的电子邮件功能php所以我尝试PHPMailer和PHP梨,但页面转向并转向无限,没有任何事情发生。 我的主人是1& 1。 我尝试使用gmail而不是smtp和帐户而不是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);
?>

感谢。

1 个答案:

答案 0 :(得分:2)

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

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

巧合的是我也是1&amp; 1,所以请看here for how to set up SPF records for 1&1。您需要使用的值是:

v=spf1 include:_spf.perfora.net include:_spf.kundenserver.de -all

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

enter image description here