我有一个奇怪的问题发生的事情与在Laravel发送电子邮件。
我用Mailgun并且可以发送电子邮件罚款时,用户注册,一切都这样。
我开始玩的调度命令,并创建了一个自定义的工匠命令来获取一些记录和发送电子邮件的一些这些。
然而,当我运行这个命令我得到一个错误:
卷曲错误60:SSL证书问题:无法获取本地颁发者证书
我已在本地建立了cacert.pem
在我php.ini
文件,这是怎么了能够正常发送电子邮件链接成功这一点。
我不明白为什么我的命令不能发送电子邮件时,我可以给他们发送一个控制器内就好了。
这是我使用该命令的代码:
$reminders = Reminder::where('utcReminderDate' , '<=', \Carbon\Carbon::now()->format('Y-m-d H:i'))->get();
foreach($reminders as $reminder)
{
Mail::send('emails.test', [], function($message) {
$message->to('[email protected]', 'Joe Bloggs');
$message->subject('A reminder for you');
});
}
我希望得到的是需要通过他们发送和循环的所有提醒他们送出去。
当我运行命令通过命令行,以测试它,它吐出上述错误。
任何获得电子邮件发送帮助将非常感激。我使用WAMP如果有差别。
您可以修改该文件夹的供应商改变GuzzleHttp\Client
关键verify
正如我在本地机器确实从false
方法configureDefaults
要么
您可以阅读conversation in Laracasts,并尝试下载一些评论的.pem
文件。
这里有一些链接:
之后,你应该相应地修改php.ini文件:
curl.cainfo = "[pathtothisfile]\cacert.pem"
PS:我只想编辑的供应商档案,因为它的速度更快,而不是难以实现。
使用此代码:
$this->client = new GuzzleClient(['defaults' => [
'verify' => false
]]);
这对我的作品。
显然,当它从CLI访问PHP可以加载不同的php.ini文件。 See here。
复制我的php.ini文件到C:\windows
解决的问题。