如何解决Laravel7 +队列和主管=>未发送邮件
我正在使用Queue异步发送订单确认,而不是让用户在前端等待付款完成。
在使用php artisan queue:work
时,此方法可以正常工作-一切都按需进行处理。
现在,当我想让主管处理发送时,作业将始终失败,但以下情况除外:
[2020-08-17 19:54:12]生产。错误:没有发送者地址就无法发送消息{“ exception”:“ [对象](Swift_TransportException(code:0):没有发送者地址就无法发送消息在/var/www/backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php:195)
这显然表明.env
中没有配置发送者地址。但是,还有config/mail.php
中也有。我假设主管无法读取MAIL_FROM_ADDRESS
中的全局.env
或无法访问.env
,但是我不确定如何实现。
这是我的主管配置(按照Laravel Docs中的说明):
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/backend/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=www-data
numprocs=2
redirect_stderr=true
stdout_logfile=/var/www/backend/worker.log
stopwaitsecs=3600
我正在使用QUEUE_CONNECTION=database
。
服务器正在ubuntu上运行nginx。
我也已经尝试让主管使用user=root
而不成功。
有人遇到过类似的事情吗?
解决方法
尝试设置目录:
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
directory=/var/www/backend
command=php artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=www-data
numprocs=2
redirect_stderr=true
stdout_logfile=/var/www/backend/worker.log
stopwaitsecs=3600
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。