当我尝试从我的laravel网站发送电子邮件时,我收到此错误
StreamBuffer.php第268行中的Swift_TransportException:无法与主机建立连接lin01.hkdns.co.za [#0]
我的所有细节都是对的。我的环境
MAIL_DRIVER=smtp
MAIL_HOST=lin01.hkdns.co.za
MAIL_PORT=465
MAIL_USERNAME=info@mysite.co.za
MAIL_PASSWORD=password
MAIL_ENCRYPTION=ssl
在我的mail.php中
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'info@mysite.co.za'),
'name' => env('MAIL_FROM_NAME', 'Info'),
],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'sendmail' => '/usr/sbin/sendmail -bs',
'markdown' => [
'theme' => 'default',
'paths' => [
resource_path('views/vendor/mail'),
],
],
我是否遗漏了某些内容,或者这是我服务器上的问题?
答案 0 :(得分:2)
有时它可以"缓存"在laravel。
使用此命令再试一次:
php artisan config:clear
如果不起作用,请尝试重新启动xampp。
检查问题是否与您的主机或配置有关的另一个选项是使用Gmail服务器发送测试电子邮件。
将此内容放入.env
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=myemail@gmail.com
MAIL_PASSWORD=apppassword
MAIL_ENCRYPTION=tls
创建或使用任何Gmail帐户并启用less secure apps更多信息here
首次登录您的Gmail帐户并在我的帐户>下;和 安全>登录谷歌,启用两步验证,然后你 可以生成应用程序密码,您可以在.env中使用该应用程序密码 文件。
您的.env文件将看起来像这样
MAIL_DRIVER=smtp MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=myemail@gmail.com
MAIL_PASSWORD=apppassword
MAIL_ENCRYPTION=tls
在您进行更改后,不要忘记运行
php artisan config:cache
您的.env文件(或重新启动服务器)。
来源here