TypeError: Argument 1 passed to Illuminate\Mail\Mailer::__construct() must be of the type string, object given
Closed this issue · 4 comments
Bug Report
Current Behavior
All emails are failing with a 500. Logs report the error below.
Steps to Reproduce
- enable mail
- enable pretty-mail
- register a user, send test email, reply to post, etc -- anything that triggers an email
- 500 error, no email sent.
Expected Behavior
Email is sent.
Environment
- Flarum version: beta-16
- Extension version: 0.3.0
- Website URL: https://adkadv.com
- Webserver: nginx
- Hosting environment: vps
- PHP version: 7.3.24
- Browser: doesnt matter
[ps625951]$ php flarum info
Flarum core 0.1.0-beta.16
PHP version: 7.3.24
Loaded extensions: Core, date, libxml, pcre, sqlite3, filter, hash, intl, json, mbstring, SPL, PDO, pdo_sqlite, Reflection, sodium, session, standard, bcmath, bz2, calendar, ctype, curl, dom, exif, fileinfo, ftp, gd, gettext, iconv, imap, mysqlnd, openssl, pcntl, pdo_mysql, zlib, posix, pspell, mysqli, SimpleXML, soap, sockets, tokenizer, xml, xmlreader, xmlrpc, xmlwriter, xsl, zip, Phar, imagick
+---------------------------+------------------+------------------------------------------+
| Flarum Extensions | | |
+---------------------------+------------------+------------------------------------------+
| ID | Version | Commit |
+---------------------------+------------------+------------------------------------------+
| flarum-tags | v0.1.0-beta.16 | |
| v17development-blog | v0.2.3 | |
| fof-upload | 0.14.0-beta | |
| flarum-sticky | v0.1.0-beta.16 | |
| fof-sitemap | 0.7.0 | |
| flarum-flags | v0.1.0-beta.16 | |
| squeevee-fancybox | 0.2.0-beta.15 | |
| webbinaro-adkhomepage | 0.0.6 | |
| zerosonesfun-direct-links | 2.0.4 | |
| fof-best-answer | 0.4.0 | |
| fof-byobu | 0.6.1 | |
| fof-subscribed | 0.5.0 | |
| fof-reactions | 0.6.0 | |
| fof-pretty-mail | 0.3.0 | |
| fof-oauth | 0.3.0 | |
| fof-analytics | 0.12.0 | |
| migratetoflarum-canonical | 0.2.4 | |
| fof-profile-image-crop | 0.2.1 | |
| fof-impersonate | 0.8.0 | |
| webbinaro-gpx-preview | v0.2.3 | |
| fof-frontpage | 0.3.0 | |
| bokt-cache-assets | 0.4 | |
| webbinaro-calendar | 0.3.0 | ab461d56da154e5067d86d0eb655b26c2ed7c4bc |
| fof-terms | 0.6.2 | |
| fof-user-directory | 0.5.3 | |
| sycho-profile-cover | v1.2.4 | |
| fof-polls | 0.3.2 | |
| fof-masquerade | 0.3.7 | |
| fof-formatting | 0.4.0 | |
| askvortsov-categories | v2.0.0 | |
| fof-links | 0.6.0 | |
| fof-recaptcha | 0.3.1 | |
| v17development-seo | v1.7.2 | |
| fof-user-bio | 0.5.0 | |
| flarum-suspend | v0.1.0-beta.16 | |
| flarum-subscriptions | v0.1.0-beta.16 | |
| flarum-statistics | v0.1.0-beta.16 | |
| flarum-mentions | v0.1.0-beta.16 | |
| flarum-markdown | v0.1.0-beta.16.1 | |
| flarum-lock | v0.1.0-beta.16 | |
| flarum-likes | v0.1.0-beta.16 | |
| flarum-lang-english | v0.1.0-beta.16 | |
| flarum-emoji | v0.1.0-beta.16 | |
| flarum-bbcode | v0.1.0-beta.16 | |
| flarum-approval | v0.1.0-beta.16 | |
+---------------------------+------------------+------------------------------------------+
Base URL: https://adkadv.com
Installation path: /home/adkadv/adkadv-flarum
Debug mode: off
Possible solution(s)
line 29 here throws the error, but not sure why
https://github.com/FriendsOfFlarum/pretty-mail/blob/master/src/Providers/MailerProvider.php#L29
Additional Context
LOgs
[2021-04-14 17:40:13] flarum.ERROR: TypeError: Argument 1 passed to Illuminate\Mail\Mailer::__construct() must be of the type string, object given, called in /home/adkadv/adkadv-flarum/vendor/fof/pretty-mail/src/Providers/MailerProvider.php on line 29 and defined in /home/adkadv/adkadv-flarum/vendor/illuminate/mail/Mailer.php:103
Stack trace:
#0 /home/adkadv/adkadv-flarum/vendor/fof/pretty-mail/src/Providers/MailerProvider.php(29): Illuminate\Mail\Mailer->__construct(Object(Illuminate\View\Factory), Object(Swift_Mailer), Object(Illuminate\Events\Dispatcher))
#1 /home/adkadv/adkadv-flarum/vendor/illuminate/container/Container.php(829): FoF\PrettyMail\Providers\MailerProvider->FoF\PrettyMail\Providers\{closure}(Object(Illuminate\Container\Container), Array)
#2 /home/adkadv/adkadv-flarum/vendor/illuminate/container/Container.php(714): Illuminate\Container\Container->build(Object(Closure))
#3 /home/adkadv/adkadv-flarum/vendor/illuminate/container/Container.php(652): Illuminate\Container\Container->resolve('mailer', Array)
#4 /home/adkadv/adkadv-flarum/vendor/illuminate/container/Container.php(987): Illuminate\Container\Container->make('Illuminate\\Cont...')
#5 /home/adkadv/adkadv-flarum/vendor/illuminate/container/Container.php(907): Illuminate\Container\Container->resolveClass(Object(ReflectionParameter))
#6 /home/adkadv/adkadv-flarum/vendor/illuminate/container/Container.php(868): Illuminate\Container\Container->resolveDependencies(Array)
#7 /home/adkadv/adkadv-flarum/vendor/illuminate/container/Container.php(714): Illuminate\Container\Container->build('Flarum\\Api\\Cont...')
#8 /home/adkadv/adkadv-flarum/vendor/illuminate/container/Container.php(652): Illuminate\Container\Container->resolve('Flarum\\Api\\Cont...', Array)
#9 /home/adkadv/adkadv-flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(74): Illuminate\Container\Container->make('Flarum\\Api\\Cont...')
#10 /home/adkadv/adkadv-flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(34): Flarum\Http\RouteHandlerFactory->resolveController('Flarum\\Api\\Cont...')
#11 /home/adkadv/adkadv-flarum/vendor/flarum/core/src/Http/Middleware/ExecuteRoute.php(27): Flarum\Http\RouteHandlerFactory->Flarum\Http\{closure}(Object(Laminas\Diactoros\ServerRequest), Array)
#12 /home/adkadv/adkadv-flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\ExecuteRoute->process(Object(Laminas\Diactoros\ServerRequest), Object(Closure))
#13 /home/adkadv/adkadv-flarum/vendor/flarum/core/src/Api/Middleware/ThrottleApi.php(33): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#14 /home/adkadv/adkadv-flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Api\Middleware\ThrottleApi->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#15 /home/adkadv/adkadv-flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(44): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#16 /home/adkadv/adkadv-flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\CheckCsrfToken->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#17 /home/adkadv/adkadv-flarum/vendor/flarum/core/src/Http/Middleware/ResolveRoute.php(67): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#18 /home/adkadv/adkadv-flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\ResolveRoute->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#19 /home/adkadv/adkadv-flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#20 /home/adkadv/adkadv-flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\SetLocale->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#21 /home/adkadv/adkadv-flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(55): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#22 /home/adkadv/adkadv-flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\AuthenticateWithHeader->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#23 /home/adkadv/adkadv-flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(32): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#24 /home/adkadv/adkadv-flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\AuthenticateWithSession->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#25 /home/adkadv/adkadv-flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(52): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#26 /home/adkadv/adkadv-flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\RememberFromCookie->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#27 /home/adkadv/adkadv-flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#28 /home/adkadv/adkadv-flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\StartSession->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#29 /home/adkadv/adkadv-flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#30 /home/adkadv/adkadv-flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Api\Middleware\FakeHttpMethods->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#31 /home/adkadv/adkadv-flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#32 /home/adkadv/adkadv-flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\ParseJsonBody->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#33 /home/adkadv/adkadv-flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#34 /home/adkadv/adkadv-flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\HandleErrors->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#35 /home/adkadv/adkadv-flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#36 /home/adkadv/adkadv-flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#37 /home/adkadv/adkadv-flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\RequestHandler->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#38 /home/adkadv/adkadv-flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(101): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#39 /home/adkadv/adkadv-flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\BasePathRouter->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#40 /home/adkadv/adkadv-flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(42): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#41 /home/adkadv/adkadv-flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Laminas\Stratigility\Middleware\OriginalMessages->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#42 /home/adkadv/adkadv-flarum/vendor/middlewares/base-path/src/BasePath.php(53): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#43 /home/adkadv/adkadv-flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\BasePath->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#44 /home/adkadv/adkadv-flarum/vendor/flarum/core/src/Http/Middleware/ProcessIp.php(24): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#45 /home/adkadv/adkadv-flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\ProcessIp->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#46 /home/adkadv/adkadv-flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#47 /home/adkadv/adkadv-flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(73): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\EmptyPipelineHandler))
#48 /home/adkadv/adkadv-flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\Stratigility\MiddlewarePipe->handle(Object(Laminas\Diactoros\ServerRequest))
#49 /home/adkadv/adkadv-flarum/vendor/flarum/core/src/Http/Server.php(44): Laminas\HttpHandlerRunner\RequestHandlerRunner->run()
#50 /home/adkadv/adkadv-flarum/public/index.php(26): Flarum\Http\Server->listen()
#51 {main}
Quite sure this is change in Laravel 6.x to Laravel 8.x which changed mail handler. I'll see if I can play with a PR but I don't know much about laravel internals.
https://github.com/illuminate/mail/blob/8.x/MailServiceProvider.php#L26
I don't think this extension has been updated for beta 16 yet. But I am following because I'm also waiting for it before I can upgrade :)
Indeed, nobody from FoF has tested the extension on beta 16 yet, it's likely it will require an update.
We are (slowly) getting to the end of the list of extensions to update.
@clarkwinkelmann - yep, understanding it was likely a beta16 compatability, I wanted to contribute if I could.
#14 fixes the error by simply adding a name
to the Mailer we provider as Laravel 7.x added support for multiple mailers.