1

我有一个 Laravel 7.0 项目,当我尝试向 mailtrap 发送电子邮件时,它给了我以下错误。

Swift_TransportException 不支持的 sendmail 命令标志 []。必须是“-bs”或“-t”之一,但可以包含其他标志。

我的 .env 文件中有以下内容

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=MY_USERNAME
MAIL_PASSWORD=MY_PASSWORD
MAIL_FROM_ADDRESS=from@example.com
MAIL_FROM_NAME=Example
MAIL_ENCRYPTION=tls

还尝试清除配置缓存,但它不起作用。

php artisan config:cache
4

3 回答 3

2

请务必重新启动队列并再次运行工作:

php artisan queue:restart

php artisan queue:work

来自文档: 由于队列工作人员是长期存在的进程,因此如果不重新启动,他们不会注意到代码的更改。因此,使用队列工作者部署应用程序的最简单方法是在部署过程中重新启动工作者。

于 2021-03-22T12:38:03.950 回答
0

确保有命令标志config/mail.php

'sendmail' => [
   'transport' => 'sendmail',
   'path' => '/usr/sbin/sendmail -bs', // <-- Here
],

正如这里laravel/laravel的存储库中定义的那样

于 2020-05-20T19:24:33.070 回答
0

我有同样的问题,如果你使用 gmail 试试这个,还要添加MAIL_FROM_ADDRESS

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=********@gmail.com
MAIL_PASSWORD=********
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=*********gmail.com
MAIL_FROM_NAME="${APP_NAME}"
于 2020-06-07T10:14:55.447 回答