请问如何让laravel通过http代理来发送邮件
laravel(版本5.5)部署在内网,服务器(win10-xmapp-php7.2)只能通过特定的http代理访问外网。
我想用mailgun来发送邮件,请问如何让laravel通过代理连接mailgun从而发送邮件?
还请大佬给下方向
关于 LearnKu
哈哈 :grin:,找到方法了,开心!
解决过程:
首先感谢《说一说 Laravel 邮件发送流程》
作者 coding01
链接:juejin.im/post/5b82715de51d4538d63...
从文章里找到配置 mailgun 的代码位置,在
TransportManager类的createMailgunDriver()方法中其中的
$this->guzzle($config)估计是 guzzle 相关的东西,而且还传入了配置,继续找到代码如下再继续找
HttpClient,代码如下找到啦!
在
new HttpClient()的时候可以传入$config['guzzle']设置 proxy。这个
$config在前面的createMailgunDriver()方法里,是$config = $this->app['config']->get('services.mailgun', []);。解决方法:
在
config/services.php文件中给mailgun增加guzzle的proxy配置,如下然后在
.env文件中设置好MAILGUN_PROXY就行了。ps. 如果需要的话,别忘了运行
php artisan config:cache