Php 在Laravel中配置邮件驱动程序(使用MAMP)
我试图使用Laravel的auth软件包,当我试图使用它的“发送密码重置链接”选项时,会出现各种错误。我使用MAMP作为服务器。默认情况下,My.env如下所示:Php 在Laravel中配置邮件驱动程序(使用MAMP),php,laravel,email,Php,Laravel,Email,我试图使用Laravel的auth软件包,当我试图使用它的“发送密码重置链接”选项时,会出现各种错误。我使用MAMP作为服务器。默认情况下,My.env如下所示: MAIL_DRIVER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null 当我尝试发送邮件时,总是会出现异常错误 我是否应该用我的电子邮件和密码连接我自己的Gmail地址,
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
当我尝试发送邮件时,总是会出现异常错误
我是否应该用我的电子邮件和密码连接我自己的Gmail地址,实际上是告诉Laravel使用Gmail作为邮件服务器?这不是一个安全风险,因为我的密码会公开吗
作为替代方案,我是否可以/应该向MAMP添加邮件服务器并使用其凭据?再说一次,这不是安全风险吗
MAIL_DRIVER=log
MAIL_HOST=mailtrap.io
MAIL_PORT=587
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=tls
MAIL_DRIVER=smtp
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=your_user_name_from_sendgrid
MAIL_PASSWORD=your_password_from_password
MAIL_ENCRYPTION=tls
问题不在于具体的错误,而在于最佳实践。例如,允许在Gmail中使用“不太安全的应用程序”或两步验证应用程序密码。或者设置备用邮件服务器?
.env
的内容不会“公开”。您可以在测试中使用Gmail,但最好在生产中使用Sendgrid或AmazonSES之类的工具。同样,在上述任何情况下,您的凭据都不会显示给应用程序的访问者,除非您执行了一些愚蠢的操作,例如将config()
的内容打印到浏览器的某个位置。您会遇到此错误,因为Mailtrap.io要求您创建一个免费帐户,他们会给您凭据。如果您决定使用MAMP而不是MAMP,它将包含一个虚拟电子邮件服务器,并带有一个gui收件箱ui。这种方式可以工作,但正如预期的那样,电子邮件将转储到laravel.log。如何将其发送到实际的电子邮件帐户?尝试使用sendgrid。这真的很容易。它被转储到laravel.log,因为设置MAIL\u DRIVER=log
会导致邮件配置的其余部分被忽略,因为日志驱动程序不需要credentials@staskrak它仍然不工作,添加了sendgrid配置并获得“预期响应代码220,但获得代码“”,并显示消息“”错误。