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



我正在使用Laravel 5.8进行Web开发。我制作了一个简短的联系表格,访问者可以从中向我发送包含一些数据的电子邮件:姓名,他们的电子邮件,文本等...我遇到@ru域电子邮件的问题。它们不会发送到我的收件箱

这是我的.环境

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

我也为我的电子邮件做了这个

允许访问不可靠的应用

并且还使用可邮寄,但问题仍然是一样的。

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

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

更好的方法是使用到提供商的网关并让它分发邮件。提供程序通常需要对客户端进行身份验证。因此,请参阅提供商的文档。

相关内容

最新更新