5 days later
  • [deleted]

I could be wrong here, but (certainly the case on my forum) this extension appears to strip the sender ID ? To reproduce, enable this extension, and leave the SMTP setup unmodified. As a user, go into your settings, then try to send a reset email. The below is recorded in the log (with a visual failed message)

[2019-09-19 14:36:26] production.ERROR: Swift_TransportException: Cannot send message without a sender address in /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php:195
Stack trace:
#0 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer.php(71): Swift_Transport_AbstractSmtpTransport->send(Object(Swift_Message), Array)
#1 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/illuminate/mail/Mailer.php(483): Swift_Mailer->send(Object(Swift_Message), Array)
#2 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/illuminate/mail/Mailer.php(259): Illuminate\Mail\Mailer->sendSwiftMessage(Object(Swift_Message))
#3 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/fof/pretty-mail/src/Mailer.php(56): Illuminate\Mail\Mailer->send('pretty-mail::em...', Array, Object(Closure))
#4 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/User/Command/RequestPasswordResetHandler.php(119): FoF\PrettyMail\Mailer->raw('Hey mcutting!\n\n...', Object(Closure))
#5 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/illuminate/bus/Dispatcher.php(90): Flarum\User\Command\RequestPasswordResetHandler->handle(Object(Flarum\User\Command\RequestPasswordReset))
#6 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/illuminate/pipeline/Pipeline.php(128): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}(Object(Flarum\User\Command\RequestPasswordReset))
#7 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/illuminate/pipeline/Pipeline.php(104): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Flarum\User\Command\RequestPasswordReset))
#8 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/illuminate/bus/Dispatcher.php(98): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#9 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/illuminate/bus/Dispatcher.php(76): Illuminate\Bus\Dispatcher->dispatchNow(Object(Flarum\User\Command\RequestPasswordReset))
#10 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Api/Controller/ForgotPasswordController.php(53): Illuminate\Bus\Dispatcher->dispatch(Object(Flarum\User\Command\RequestPasswordReset))
#11 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Http/RouteHandlerFactory.php(40): Flarum\Api\Controller\ForgotPasswordController->handle(Object(Zend\Diactoros\ServerRequest))
#12 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(67): Flarum\Http\RouteHandlerFactory->Flarum\Http\{closure}(Object(Zend\Diactoros\ServerRequest), Array)
#13 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\DispatchRoute->process(Object(Zend\Diactoros\ServerRequest), Object(Closure))
#14 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/fof/stopforumspam/src/Middleware/RegisterMiddleware.php(94): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#15 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): FoF\StopForumSpam\Middleware\RegisterMiddleware->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#16 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/reflar/recache/src/Middlewares/OptimizeImages.php(44): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#17 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Reflar\ReCache\Middlewares\OptimizeImages->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#18 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/reflar/recache/src/Middlewares/CacheResponse.php(87): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#19 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Reflar\ReCache\Middlewares\CacheResponse->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#20 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flagrow/terms/src/Middlewares/RegisterMiddleware.php(59): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#21 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Flagrow\Terms\Middlewares\RegisterMiddleware->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#22 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/reflar/pwned-passwords/src/Middleware/CheckPassword.php(66): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#23 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Reflar\PwnedPasswords\Middleware\CheckPassword->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#24 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Http/Middleware/SetLocale.php(52): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#25 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\SetLocale->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#26 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(33): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#27 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\CheckCsrfToken->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#28 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(57): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#29 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\AuthenticateWithHeader->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#30 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(34): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#31 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\AuthenticateWithSession->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#32 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(53): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#33 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\RememberFromCookie->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#34 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Http/Middleware/StartSession.php(63): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#35 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\StartSession->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#36 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(31): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#37 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Api\Middleware\FakeHttpMethods->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#38 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(30): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#39 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\ParseJsonBody->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#40 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(59): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#41 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\HandleErrors->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#42 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php(83): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#43 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/middlewares/request-handler/src/RequestHandler.php(84): Zend\Stratigility\MiddlewarePipe->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#44 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Middlewares\RequestHandler->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#45 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#46 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Middlewares\BasePathRouter->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#47 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Middleware/OriginalMessages.php(41): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#48 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Zend\Stratigility\Middleware\OriginalMessages->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#49 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/middlewares/base-path/src/BasePath.php(53): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#50 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Middlewares\BasePath->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#51 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php(83): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#52 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php(72): Zend\Stratigility\MiddlewarePipe->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\EmptyPipelineHandler))
#53 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-httphandlerrunner/src/RequestHandlerRunner.php(95): Zend\Stratigility\MiddlewarePipe->handle(Object(Zend\Diactoros\ServerRequest))
#54 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Http/Server.php(46): Zend\HttpHandlerRunner\RequestHandlerRunner->run()
#55 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/index.php(22): Flarum\Http\Server->listen()
#56 {main}  

Disable this extension, and the issue resolves itself 🙂

[deleted] Yeah, I think I encountered this issue with fof/follow-tags as well. Not sure about your first error with sender address (?), but this one I have encountered. You should have error logs, I think... can you check?

    • [deleted]

    • Edited

    datitisev Here are the logs

    [2019-09-20 12:41:42] production.ERROR: InvalidArgumentException: No hint path defined for [pretty-mail]. in /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/illuminate/view/FileViewFinder.php:112
    Stack trace:
    #0 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/illuminate/view/FileViewFinder.php(90): Illuminate\View\FileViewFinder->parseNamespaceSegments('pretty-mail::em...')
    #1 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/illuminate/view/FileViewFinder.php(76): Illuminate\View\FileViewFinder->findNamespacedView('pretty-mail::em...')
    #2 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/illuminate/view/Factory.php(130): Illuminate\View\FileViewFinder->find('pretty-mail::em...')
    #3 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/illuminate/mail/Mailer.php(352): Illuminate\View\Factory->make('pretty-mail::em...', Array)
    #4 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/illuminate/mail/Mailer.php(325): Illuminate\Mail\Mailer->renderView('pretty-mail::em...', Array)
    #5 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/illuminate/mail/Mailer.php(244): Illuminate\Mail\Mailer->addContent(Object(Illuminate\Mail\Message), 'pretty-mail::em...', NULL, NULL, Array)
    #6 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/fof/pretty-mail/src/Overrides/Notification/NotificationMailer.php(76): Illuminate\Mail\Mailer->send('pretty-mail::em...', Array, Object(Closure))
    #7 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Notification/NotificationSyncer.php(202): Flarum\Notification\NotificationMailer->send(Object(FoF\Subscribed\Blueprints\UserCreatedBlueprint), Object(Flarum\User\User))
    #8 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Notification/NotificationSyncer.php(188): Flarum\Notification\NotificationSyncer->mailNotifications(Object(FoF\Subscribed\Blueprints\UserCreatedBlueprint), Array)
    #9 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Notification/NotificationSyncer.php(120): Flarum\Notification\NotificationSyncer->sendNotifications(Object(FoF\Subscribed\Blueprints\UserCreatedBlueprint), Array)
    #10 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/fof/subscribed/src/Listeners/UserCreated.php(71): Flarum\Notification\NotificationSyncer->sync(Object(FoF\Subscribed\Blueprints\UserCreatedBlueprint), Array)
    #11 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/illuminate/events/Dispatcher.php(360): FoF\Subscribed\Listeners\UserCreated->whenUserRegistered(Object(Flarum\User\Event\Registered))
    #12 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/illuminate/events/Dispatcher.php(209): Illuminate\Events\Dispatcher->Illuminate\Events\{closure}('Flarum\\User\\Eve...', Array)
    #13 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Foundation/DispatchEventsTrait.php(35): Illuminate\Events\Dispatcher->dispatch('Flarum\\User\\Eve...')
    #14 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/User/Command/RegisterUserHandler.php(116): Flarum\User\Command\RegisterUserHandler->dispatchEventsFor(Object(Flarum\User\User), Object(Flarum\User\Guest))
    #15 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/illuminate/bus/Dispatcher.php(90): Flarum\User\Command\RegisterUserHandler->handle(Object(Flarum\User\Command\RegisterUser))
    #16 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/illuminate/pipeline/Pipeline.php(128): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}(Object(Flarum\User\Command\RegisterUser))
    #17 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/illuminate/pipeline/Pipeline.php(104): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Flarum\User\Command\RegisterUser))
    #18 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/illuminate/bus/Dispatcher.php(98): Illuminate\Pipeline\Pipeline->then(Object(Closure))
    #19 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/illuminate/bus/Dispatcher.php(76): Illuminate\Bus\Dispatcher->dispatchNow(Object(Flarum\User\Command\RegisterUser))
    #20 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Api/Controller/CreateUserController.php(47): Illuminate\Bus\Dispatcher->dispatch(Object(Flarum\User\Command\RegisterUser))
    #21 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Api/Controller/AbstractSerializeController.php(98): Flarum\Api\Controller\CreateUserController->data(Object(Zend\Diactoros\ServerRequest), Object(Tobscure\JsonApi\Document))
    #22 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Api/Controller/AbstractCreateController.php(24): Flarum\Api\Controller\AbstractSerializeController->handle(Object(Zend\Diactoros\ServerRequest))
    #23 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Api/Client.php(74): Flarum\Api\Controller\AbstractCreateController->handle(Object(Zend\Diactoros\ServerRequest))
    #24 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Forum/Controller/RegisterController.php(60): Flarum\Api\Client->send(Object(Flarum\Api\Controller\CreateUserController), Object(Flarum\User\Guest), Array, Array)
    #25 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Http/RouteHandlerFactory.php(40): Flarum\Forum\Controller\RegisterController->handle(Object(Zend\Diactoros\ServerRequest))
    #26 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(67): Flarum\Http\RouteHandlerFactory->Flarum\Http\{closure}(Object(Zend\Diactoros\ServerRequest), Array)
    #27 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\DispatchRoute->process(Object(Zend\Diactoros\ServerRequest), Object(Closure))
    #28 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/fof/stopforumspam/src/Middleware/RegisterMiddleware.php(94): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
    #29 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): FoF\StopForumSpam\Middleware\RegisterMiddleware->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
    #30 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/reflar/recache/src/Middlewares/OptimizeImages.php(44): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
    #31 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Reflar\ReCache\Middlewares\OptimizeImages->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
    #32 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/reflar/recache/src/Middlewares/CacheResponse.php(87): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
    #33 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Reflar\ReCache\Middlewares\CacheResponse->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
    #34 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/fof/ban-ips/src/Middleware/RegisterMiddleware.php(91): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
    #35 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): FoF\BanIPs\Middleware\RegisterMiddleware->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
    #36 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flagrow/terms/src/Middlewares/RegisterMiddleware.php(59): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
    #37 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Flagrow\Terms\Middlewares\RegisterMiddleware->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
    #38 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/reflar/pwned-passwords/src/Middleware/CheckPassword.php(66): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
    #39 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Reflar\PwnedPasswords\Middleware\CheckPassword->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
    #40 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Http/Middleware/ShareErrorsFromSession.php(58): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
    #41 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\ShareErrorsFromSession->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
    #42 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Http/Middleware/SetLocale.php(52): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
    #43 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\SetLocale->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
    #44 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(33): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
    #45 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\CheckCsrfToken->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
    #46 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(34): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
    #47 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\AuthenticateWithSession->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
    #48 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(53): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
    #49 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\RememberFromCookie->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
    #50 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Http/Middleware/StartSession.php(63): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
    #51 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\StartSession->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
    #52 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Http/Middleware/CollectGarbage.php(48): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
    #53 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\CollectGarbage->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
    #54 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(30): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
    #55 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\ParseJsonBody->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
    #56 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(59): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
    #57 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\HandleErrors->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
    #58 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php(83): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
    #59 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/middlewares/request-handler/src/RequestHandler.php(84): Zend\Stratigility\MiddlewarePipe->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
    #60 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Middlewares\RequestHandler->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
    #61 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
    #62 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Middlewares\BasePathRouter->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
    #63 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Middleware/OriginalMessages.php(41): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
    #64 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Zend\Stratigility\Middleware\OriginalMessages->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
    #65 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/middlewares/base-path/src/BasePath.php(53): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
    #66 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/Next.php(60): Middlewares\BasePath->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
    #67 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php(83): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
    #68 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php(72): Zend\Stratigility\MiddlewarePipe->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\EmptyPipelineHandler))
    #69 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/zendframework/zend-httphandlerrunner/src/RequestHandlerRunner.php(95): Zend\Stratigility\MiddlewarePipe->handle(Object(Zend\Diactoros\ServerRequest))
    #70 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/vendor/flarum/core/src/Http/Server.php(46): Zend\HttpHandlerRunner\RequestHandlerRunner->run()
    #71 /var/www/vhosts/infosecforge.io/discuss.infosecforge.io/index.php(22): Flarum\Http\Server->listen()
    #72 {main}  

      luceos Yes, as fof/pretty-mail replaces the Flarum Notificationmailer with its own (./vendor/fof/pretty-mail/src/Overrides/Notification/NotificationMailer.php).

      • [deleted]

      luceos yes, confirmed

      0.1.1

      • Do not replace Flarum files - rather, replace the classes they implement
        • Fixes issues when the extension is installed but disabled
      • Update email confirmation code for beta 8+, wasn't (or shouldn't have been) working

      Updating

      composer update fof/pretty-mail

        iPurpl3x Only works when the class is being resolved through Laravel (__construct and/or made with app()->make()), so it's not a global solution, but yeah 🙂. @luceos suggested it, I also use it in fof/sentry for the user feedback.

        iPurpl3x 😠 Thanks 😛

        0.1.2

        • Fix some small bugs - thanks @iPurpl3x
          • When the first e-mail that is sent after enabling Pretty Mail is an "EmailConfirmation" (when a user changes his email address) then the default template set up in the admin pane would not be used.
          • The Notification e-mails would not replace the right file contents if a custom template was set up in the admin pane (the file path was wrong).
        • Minor english locale improvements - thanks @rob006

        Updating

        composer update fof/pretty-mail

        0.1.3

        • Completely rewrite some stuffs
        • Fix issue with migration not migrating from ReFlar (??) and instead checking for non-existent fof keys
        • Compile views directly from template strings rather than writing to files
        • Probably fixed some other issues

        Updating

        composer update fof/pretty-mail

        Just updated and encountered this error seen here:
        i.imgur.com/IJGFS0P.png

          VanillaScent You're not on 0.1.3, you are on 0.1.2 or below (I can see some code that is used in the views I removed). Run composer require fof/pretty-mail to update.

            Just checked using flarum info, it does say now I am on 0.1.3
            Same error as above, using smtp
            new error: