php – laravel队列守护程序邮件因SSL错误而停止运行
发布时间:2020-12-14 19:38:44 所属栏目:大数据 来源:网络整理
导读:我正在运行一个laravel队列守护程序,它根据所采取的操作发送邮件.这是通过主管运行以确保它始终运行.它起初工作正常,但一段时间后邮件停止发送.该错误未报告链,但日志显示: [2014-07-30 20:00:21] production.ERROR: exception 'ErrorException' with messa
我正在运行一个laravel队列守护程序,它根据所采取的操作发送邮件.这是通过主管运行以确保它始终运行.它起初工作正常,但一段时间后邮件停止发送.该错误未报告链,但日志显示:
[2014-07-30 20:00:21] production.ERROR: exception 'ErrorException' with message 'fwrite(): SSL operation failed with code 1. OpenSSL Error messages: error:1409F07F:SSL routines:SSL3_WRITE_PENDING:bad write retry' in /srv/www/example.co.uk/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php:232 Stack trace: #0 [internal function]: IlluminateExceptionHandler->handleError(2,'fwrite(): SSL o...','/srv/www/example...',232,Array) #1 /srv/www/example.co.uk/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php(232): fwrite(Resource id #376,'MAIL FROM: <hel...') #2 /srv/www/example.co.uk/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/AbstractFilterableInputStream.php(171): Swift_Transport_StreamBuffer->_commit('MAIL FROM: <hel...') #3 /srv/www/example.co.uk/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/AbstractFilterableInputStream.php(90): Swift_ByteStream_AbstractFilterableInputStream->_doWrite('MAIL FROM: <hel...') #4 /srv/www/example.co.uk/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php(274): Swift_ByteStream_AbstractFilterableInputStream->write('MAIL FROM: <hel...') #5 /srv/www/example.co.uk/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php(243): Swift_Transport_AbstractSmtpTransport->executeCommand('MAIL FROM: <hel...',Array,Array) #6 /srv/www/example.co.uk/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php(323): Swift_Transport_EsmtpTransport->executeCommand('MAIL FROM: <hel...',Array) #7 /srv/www/example.co.uk/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php(416): Swift_Transport_EsmtpTransport->_doMailFromCommand('hello@example.co...') #8 /srv/www/example.co.uk/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php(444): Swift_Transport_AbstractSmtpTransport->_doMailTransaction(Object(Swift_Message),'hello@example.co...',Array) #9 /srv/www/example.co.uk/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php(174): Swift_Transport_AbstractSmtpTransport->_sendTo(Object(Swift_Message),Array) #10 /srv/www/example.co.uk/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer.php(85): Swift_Transport_AbstractSmtpTransport->send(Object(Swift_Message),Array) #11 /srv/www/example.co.uk/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(328): Swift_Mailer->send(Object(Swift_Message),Array) #12 /srv/www/example.co.uk/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(150): IlluminateMailMailer->sendSwiftMessage(Object(Swift_Message)) #13 /srv/www/example.co.uk/bootstrap/compiled.php(3231): IlluminateMailMailer->send('emails.campaign...',Object(Closure)) #14 /srv/www/example.co.uk/app/commands/Sender.php(252): IlluminateSupportFacadesFacade::__callStatic('send',Array) #15 /srv/www/example.co.uk/app/commands/Sender.php(252): IlluminateSupportFacadesMail::send('emails.campaign...',Object(Closure)) #16 /srv/www/example.co.uk/app/commands/Sender.php(116): Sender->_sendEmail(Array,Array) #17 /srv/www/example.co.uk/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(96): Sender->queue(Object(IlluminateQueueJobsRedisJob),Array) #18 /srv/www/example.co.uk/vendor/laravel/framework/src/Illuminate/Queue/Jobs/RedisJob.php(46): IlluminateQueueJobsJob->resolveAndFire(Array) #19 /srv/www/example.co.uk/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(192): IlluminateQueueJobsRedisJob->fire() #20 /srv/www/example.co.uk/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(142): IlluminateQueueWorker->process('redis',Object(IlluminateQueueJobsRedisJob),'2',0) #21 /srv/www/example.co.uk/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(101): IlluminateQueueWorker->pop('redis',NULL,'3','2') #22 /srv/www/example.co.uk/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(73): IlluminateQueueWorker->runNextJobForDaemon('redis','2') #23 /srv/www/example.co.uk/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(98): IlluminateQueueWorker->daemon('redis',128,'2') #24 /srv/www/example.co.uk/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(68): IlluminateQueueConsoleWorkCommand->runWorker('redis',true) #25 /srv/www/example.co.uk/vendor/laravel/framework/src/Illuminate/Console/Command.php(112): IlluminateQueueConsoleWorkCommand->fire() #26 /srv/www/example.co.uk/vendor/symfony/console/Symfony/Component/Console/Command/Command.php(252): IlluminateConsoleCommand->execute(Object(SymfonyComponentConsoleInputArgvInput),Object(SymfonyComponentConsoleOutputConsoleOutput)) #27 /srv/www/example.co.uk/vendor/laravel/framework/src/Illuminate/Console/Command.php(100): SymfonyComponentConsoleCommandCommand->run(Object(SymfonyComponentConsoleInputArgvInput),Object(SymfonyComponentConsoleOutputConsoleOutput)) #28 /srv/www/example.co.uk/vendor/symfony/console/Symfony/Component/Console/Application.php(887): IlluminateConsoleCommand->run(Object(SymfonyComponentConsoleInputArgvInput),Object(SymfonyComponentConsoleOutputConsoleOutput)) #29 /srv/www/example.co.uk/vendor/symfony/console/Symfony/Component/Console/Application.php(193): SymfonyComponentConsoleApplication->doRunCommand(Object(IlluminateQueueConsoleWorkCommand),Object(SymfonyComponentConsoleInputArgvInput),Object(SymfonyComponentConsoleOutputConsoleOutput)) #30 /srv/www/example.co.uk/vendor/symfony/console/Symfony/Component/Console/Application.php(124): SymfonyComponentConsoleApplication->doRun(Object(SymfonyComponentConsoleInputArgvInput),Object(SymfonyComponentConsoleOutputConsoleOutput)) #31 /srv/www/example.co.uk/artisan(59): SymfonyComponentConsoleApplication->run() #32 {main} [] [] 我很想得到什么想法?我正在使用sendgrid进行邮寄 编辑,与此处相同:https://github.com/swiftmailer/swiftmailer/issues/490 解决方法
这是Laravel / Swift中的一个错误,以及它在长时间运行的队列工作程序中处理它的套接字的方式.避免此问题的最佳方法是确保在每封电子邮件发送后关闭传输.
Laravel的bug跟踪器里面有一个closed issue,它有一些Laravel代码库的补丁可以解决这个问题. 或者,查看YOzaz/Laravel-SwiftMailer软件包,它具有更新的邮件外观,最有可能解决您遇到的问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |