如何配置 Laravel mail.php 使用内置邮件功能?

新手上路,请多包涵

我需要通过 mail() PHP 函数发送电子邮件。我在某处读到我必须更改 driver 参数 config/mail.phpsendmail

默认情况下,它看起来像这样:

 'driver' => env('MAIL_DRIVER', 'smtp'),

现在,它看起来像这样:

 'driver' => 'sendmail',

也试过这个:

 'driver' => 'mail',

但是, mail() 函数仍然不起作用。我需要改变什么?

原文由 Oleg 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 343
2 个回答

你可以设置你的邮件配置 .env 文件

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=youremail@gmail.com
MAIL_PASSWORD="password"
MAIL_ENCRYPTION=tls

还可以在 config/mail.php 中设置配置,例如:

'from' => ['address' => 'youremail@gmail.com', 'name' => 'Test'],

然后你可以清除缓存:

 php artisan config:cache
php artisan cache:clear

原文由 AddWeb Solution Pvt Ltd 发布,翻译遵循 CC BY-SA 4.0 许可协议

要像 mail() PHP 函数一样做,在大多数情况下你应该按以下方式配置 Laravel:

在 .env 使用 sendmail:

 MAIL_DRIVER=sendmail

如果您使用的是 Larvel 7 或更高版本

MAIL_MAILER=sendmail

Laravel 7 替换了 MAIL_DRIVERMAIL_MAILER

不需要主机、用户、密码、端口和加密。

此时,您可能会检查它是否已经工作,但有时还需要下一步。

在 config/mail.php 中设置一个新的 .env 选项:

 'sendmail' => env('MAIL_SENDMAIL', '/usr/sbin/sendmail -bs')

在 .env 中设置 sendmail 路径。您可以在 phpinfo() 中检查 sendmail_path ,但通常是这个:

 MAIL_SENDMAIL='/usr/sbin/sendmail -t -i'

原文由 Max Oriola 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏