laravel - 一个 laravel 项目的谷歌邮件在 cpanel 中不起作用
问题描述
当我在本地主机上并且一切正常时,我在 .env 文件中使用了以下行:
MAIL_MAILER=smtp
MAIL_HOST=smtp.googlemail.com
MAIL_PORT=465
MAIL_USERNAME=myaddress@gmail.com
MAIL_PASSWORD=mypwd
MAIL_ENCRYPTION=ssl
但是当我通过 cpanel 托管 laravel 项目时,它显示以下错误:
Connection could not be established with host smtp.googlemail.com :stream_socket_client(): unable to connect to ssl://smtp.googlemail.com:465 (Network is unreachable)
然后我尝试使用以下 .env 文件,表单发送邮件但我实际上收不到任何东西:
MAIL_MAILER=sendmail
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465 //tried amending it to 587
MAIL_USERNAME=myaddress@gmail.com
MAIL_PASSWORD=mypwd
MAIL_ENCRYPTION=ssl //tried amending it to tsl when I changed the port to 587 but still same issue
解决方案
如果不使用第三方应用在 google 中启用不太安全的应用,您将无法发送邮件。所以让我们启用它。
- 登录您要用于此目的的 Gmail 帐户
- 打开网址https://myaccount.google.com/lesssecureapps
- 如果它关闭,则使其打开。
您的 .env 文件将如下所示
MAIL_DRIVER=smtp
MAIL_HOST=smtp.googlemail.com
MAIL_PORT=465
MAIL_USERNAME=ENTER_YOUR_EMAIL_ADDRESS(GMAIL)
MAIL_PASSWORD=ENTER_YOUR_GMAIL_PASSWORD
MAIL_ENCRYPTION=ssl
不要忘记php artisan config:cache
在 .env 文件中进行更改后运行。
推荐阅读
- node.js - 如何在 Windows 容器上对 React App 进行 dockerize
- c# - 获取用于数据库连接的底层 IP
- python-3.x - 反向词典理解方法不起作用
- laravel-5 - 缺少对 Laravel 数据透视表的理解
- android - 如何在不删除标签的情况下读取标签并在格式化后再次标签
- c - 在c中连接字符串的最有效方法
- refactoring - 你能在 Xcode 中重构函数参数的名称吗?
- bash - 使用 expr 获取字符串长度的语法错误
- r - system.file() 运行良好,但 base::system.file() 不行
- javascript - 使用 javascript,我如何将 JSON 对象与 PHP 返回的 arr 分开