我正在尝试向我的电子邮件ID发送邮件。我已经按照发送邮件所需的所有步骤进行操作。
但它继续出现2个错误
无法与主机smtp.gmail.com建立连接[连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机无法响应。# 10060]
超出最长执行时间30秒。
我的控制器是
public function contact()
{
Mail::send('clientinfo.contact',['name' => 'shweta'],function($message){
$message->to('myemail@gmail.com','Some Name')->subject('Welcome!')->from('otheremail@example.com');
});
mail.php文件:
return [
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
'from' => ['address' => 'someone@example.com', 'name' => 'Some One Sender'],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'sendmail' => '/usr/sbin/sendmail -bs',
'pretend' => false,
];
请帮我解决这个问题。
答案 0 :(得分:2)
确保通过在composer.json文件中添加以下行来将Guzzle安装到项目中:
" guzzlehttp / guzzle":" ~5.3 | ~6.0"
并使用真实的电子邮件ID和密码编辑.env文件。此外,根据@Bharat Geleda
的说法,为该电子邮件ID启用不太安全的应用程序然后您的上述代码将正常运行。
答案 1 :(得分:0)
这就是我所做的。
我在may gmail帐户启用了两步验证
在此处为我的应用创建了单独的应用密码(下面的屏幕截图)(https://security.google.com/settings/security/apppasswords)
我将该密码存入我的laravel .env文件并且有效。
截图 只需在“选择应用”上选择“其他(自定义名称)”,它就会为您生成密码。
答案 2 :(得分:0)
使用MAIL_PORT=587
代替.env
文件中的默认mail_port。