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

2022-08-30 18:09:09

我需要通过PHP功能发送电子邮件。我在某处读到,我必须将参数更改为.mail()driverconfig/mail.phpsendmail

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

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

现在,它看起来像这样:

'driver' => 'sendmail',

还尝试了这个:

'driver' => 'mail',

但是,该功能仍然不起作用。我需要更改哪些内容?mail()


答案 1

要执行与mail()PHP函数相同的操作,在大多数情况下,您应该按以下方式配置Laravel:

使用 sendmail,网址为 .env:

MAIL_DRIVER=sendmail

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

MAIL_MAILER=sendmail

Laravel 7被MAIL_MAILER取代MAIL_DRIVER

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

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

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

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

在 .env 中设置发送邮件路径。你可以在phpinfo()上查看,但通常是这个:sendmail_path

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

答案 2

要使用 上运行的电子邮件服务器,您的文件应如下所示(PHP 函数不需要用户名或密码)localhost.envmail

MAIL_DRIVER=smtp
MAIL_HOST=localhost
MAIL_PORT=25
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=null

然后,更新配置缓存:

php artisan config:cache

推荐