我已经在stackoverflow中尝试了所有可用的解决方案,但是没有...我认为问题与防火墙有关,我可以在本地计算机上使用SMTP gmail发送邮件,但不能在我的服务器上,我收到以下消息:
Connection could not be established with host smtp.gmail.com [Connection timed out #110]
我已尝试过以下命令:
ufw allow 587/tcp
iptables -I OUTPUT -p tcp --dport 587 -j DROP
iptables -I OUTPUT -d smtp.gmail.com -p tcp -m tcp --dport 587 -j ACCEPT
iptables -L OUTPUT -n
然而没有奏效......
这是我的.env电子邮件设置:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=*****@gmail.com
MAIL_PASSWORD=*****
MAIL_ENCRYPTION=tls
我的发送电子邮件的控制器:
public function postEmail(PostEmailRequest $request)
{
if ($request){
Mail::send('app.pages.contato.email', $request->all(), function($message) use ($request)
{
$message->from($request->email , config('settings.website_title'));
$message->to(config('settings.admin_email'))->subject($request->assunto);
});
return redirect('contato');
}else{
return redirect('contato')->withErrors($request);
}
}
答案 0 :(得分:2)
我向Digital ocean发了一张票,这是获得的答案:
您好!
为了遏制最近滥用和垃圾邮件的增加,我们在某些情境下创建了新帐户的初始SMTP阻止。
要删除该区块,我们需要进行一些手动帐户验证。
请告知我们以下内容:
此外,请尽可能多地提供以下信息,以帮助我们验证您的身份:
我们非常重视垃圾邮件,因为我们完全遵守CAN-SPAM法案。如果您不熟悉,则表示您不得发送批量电子邮件,除非您维护双重授权的订阅成员列表,包括IP地址和相关联系信息。此外,您必须遵循指南,根据“反垃圾邮件法案”包含删除所有已发送电子邮件的链接。
如果您有任何问题,我们很乐意帮您解答。
此致 DigitalOcean支持
我回复了所要求的信息,现在一切都很完美=)
答案 1 :(得分:0)
您是否尝试过以下操作:
.ENV:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=username@example.com
MAIL_PASSWORD=pass
和mail.php:
'encryption' => 'ssl',
答案 2 :(得分:0)
您需要为安全性较低的应用程序谷歌
启用访问权限答案 3 :(得分:0)
首先检查gmail帐户是否允许发送电子邮件不太安全的应用程序。 https://support.google.com/accounts/answer/6010255?hl=en
答案 4 :(得分:0)
尝试激活您的帐户应用密码
答案 5 :(得分:-1)
我的laravel 5.3 app有类似的问题。我的错误是在服务器上使用自签名证书。解决方案 - https://stackoverflow.com/a/41267848
在某个地方添加config/mail.php
此代码
'stream' => [
'ssl' => [
'allow_self_signed' => true,
'verify_peer' => false,
'verify_peer_name' => false,
],
],