我在Laravel 5.1中使用内置的登录系统模板
当我在localhost上使用忘记密码时,一切正常。以下是.env文件中的密钥
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=userid
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls
当我在Godaddy服务器上尝试相同的操作时,我面临以下错误。
StreamBuffer.php第265行中的Swift_TransportException:连接 无法与主机smtp.gmail.com建立[连接被拒绝
111]
答案 0 :(得分:5)
您的env文件必须如下所示
MAIL_DRIVER=smtp
MAIL_HOST=localhost
MAIL_PORT=465
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=ssl
在config/mail.php
中,from值应如下所示......
'from' => ['address' => 'pankaj@YourDomainName.com', 'name' => 'Sender Name'],
您的域名来自哪里?或者你可以说,如何在GoDaddy中创建电子邮件帐户?
- 登录您的GoDaddy帐户
- 转到您的主机帐户。
- 点击管理
- 在电子邮件类别下,请单击帐户
- 如果没有电子邮件帐户,请创建一个帐户。
醇>
就是这样。
因此,假设您有电子邮件地址,例如Pankaj@yourdomainname.com
现在,将此电子邮件地址放在config / mail.php中为来自字段。就是这样。
这将100%解决问题
答案 1 :(得分:2)
我有一段时间试图找到答案,所以希望这有助于某人。我能够使用我的GoDaddy电子邮件帐户设置中继一段时间但无论出于何种原因停止工作。我现在使用标准的PHP Mail函数发送电子邮件,这里是.env配置。不确定是否需要端口或加密,但是它正在工作,所以保持原样。
MAIL_DRIVER=mail
MAIL_HOST=localhost
MAIL_PORT=465
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=ssl
答案 2 :(得分:1)
环顾网页,在使用GoDaddy时,您需要在发送电子邮件时使用带有Gmail凭据的中继SMTP。
因此,在.env
文件中,而不是:
MAIL_HOST=smtp.gmail.com
你应该使用
MAIL_HOST=here_godaddy_relay_server
中继服务器的确切值取决于您拥有的主机,但可能会relay-hosting.secureserver.net
,请先尝试使用:
MAIL_HOST=relay-hosting.secureserver.net
答案 3 :(得分:1)
答案 4 :(得分:1)
对于首先发送到Laravel项目的配置电子邮件,请在主机中创建一个电子邮件帐户,然后检查配置详细信息。
现在为您配置.env
文件示例:
MAIL_DRIVER=mail
MAIL_HOST=mail.22h.in
MAIL_PORT=587
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=tls
您的config/mail.php
应该是这样。
'from' => ['address' => 'demo@domain.in', 'name' => 'Order Receipt'],
清除项目缓存和配置,运行以下命令
php artisan config:Cache
php artisan cache:Clear
答案 5 :(得分:0)
原因之一可能是 .env文件中的错误的Mail_RRIVER 等。请确保您在此处输入正确的信息,例如G。对于 GMAIL ,以下输入将起作用!
MAIL_DRIVER=smtp
MAIL_HOST=smtp.googlemail.com
MAIL_PORT=465
MAIL_USERNAME=**<YOUR_USER_NAME>**@gmail.com
MAIL_PASSWORD=**<YOUR_PASSWORD>**
MAIL_ENCRYPTION=ssl
答案 6 :(得分:0)
Laravel 7 及更高版本的更新
MAIL_MAILER=smtp
MAIL_HOST=localhost
MAIL_PORT=25
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=null