我正在使用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,但问题仍然存在。
答案 0 :(得分:0)
这是幕后问题。这是一种您的系统如何向世界传递邮件的方式。
如果尚未设置邮件网关,则系统会尝试将邮件直接发送到接收方的邮件门;它由DNS的MX记录标识。在这里,几乎所有的邮件服务器都有自己的策略,可以接受和尝试发送邮件。
更好的方法是使用通往您的提供商的网关,并让其分发邮件。提供者通常希望对客户端进行身份验证。因此,请参阅您的提供者的文档。