PHP sendmail不会发送@RU域电子邮件

时间:2019-04-07 11:25:18

标签: php email

我正在使用Laravel 5.8进行Web开发。 我做了一个简短的联系表格,访问者可以从中向我发送一些数据,包括姓名,电子邮件地址,文本等。 我遇到 @ru 域电子邮件。它们没有发送到我的收件箱中

这是我的.ENV

MAIL_DRIVER=sendmail
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=achelashvili22@gmail.com
MAIL_PASSWORD=myemailpassword
MAIL_ENCRYPTION=tls

我在控制器中的代码:

$from = 'test@testmail.com';
$to = "achelashvili22@gmail.com";
$subject = "Checking PHP mail";
$message = "PHP mail works just fine";
$headers = "From:" . $from;
mail($to,$subject,$message, $headers);

我的form正常发送电子邮件。输入 @ru 域电子邮件时出现问题。当我用任何俄语域电子邮件(例如test@testmail.com

)更改avtandil1994@mail.ru

我在eebmail中收到邮件错误:

achelashvili22@gmail.com
    host gmail-smtp-in.l.google.com [64.233.184.26]
    SMTP error from remote mail server after end of data:
    550-5.7.1 **Unauthenticated** email from mail.ru is not accepted due to domain's
    550-5.7.1 **DMARC policy**. Please contact the administrator of mail.ru domain if
    550-5.7.1 this was a legitimate mail. Please visit
    550-5.7.1  https://support.google.com/mail/answer/2451690 to learn about the
    550 5.7.1 DMARC initiative. x1si17683973wrm.306 - gsmtp

我也为我的电子邮件做过

  

允许访问不可靠的应用

,也使用Mailable,但问题仍然存在。

1 个答案:

答案 0 :(得分:0)

这是幕后问题。这是一种您的系统如何向世界传递邮件的方式。

如果尚未设置邮件网关,则系统会尝试将邮件直接发送到接收方的邮件门;它由DNS的MX记录标识。在这里,几乎所有的邮件服务器都有自己的策略,可以接受和尝试发送邮件。

更好的方法是使用通往您的提供商的网关,并让其分发邮件。提供者通常希望对客户端进行身份验证。因此,请参阅您的提供者的文档。