User registration error: mb_decode_mimeheader() expects exactly 1 parameter, 3 given

Permalink
Not sure why this is happening, but when a new user tries to register I get this error:

An unexpected error occurred.
mb_decode_mimeheader() expects exactly 1 parameter, 3 given

The user actually does get registered and appears in the Members are, but then it throws this error to the user after submit.

And I have no idea what this could possibly mean or what I could have done to acuse it (I have never touched anything in the concrete folder).

Is this a server issue? An email issue?

I appreciate any help I can get.

1 Attachment

kspitzley
 
kspitzley replied on at Permalink Reply
kspitzley
Update: it is indeed related to the mail event. Here are the log errors (I replaced my info with ###):

Exception Occurred: /home/###/public_html/dev/concrete/vendor/patchwork/utf8/class/Patchwork/Utf8/Bootup/iconv.php:31 mb_decode_mimeheader() expects exactly 1 parameter, 3 given (2)

_______

Mail Exception Occurred. Unable to send mail: mb_decode_mimeheader() expects exactly 1 parameter, 3 given
#0 [internal function]: Whoops\Run->handleError(2, 'mb_decode_mimeh...', '/home/###/...', 31, Array)
#1 /home/###/public_html/dev/concrete/vendor/patchwork/utf8/class/Patchwork/Utf8/Bootup/iconv.php(31): mb_decode_mimeheader('Content-Type: =...', 2, 'UTF-8')
#2 /home/###/public_html/dev/concrete/vendor/zendframework/zend-mail/src/Header/ContentType.php(28): iconv_mime_decode('Content-Type: =...', 2, 'UTF-8')
#3 /home/###/public_html/dev/concrete/vendor/zendframework/zend-mail/src/Headers.php(448): Zend\Mail\Header\ContentType::fromString('Content-Type: =...')
#4 /home/###/public_html/dev/concrete/vendor/zendframework/zend-mail/src/Headers.php(362): Zend\Mail\Headers->lazyLoadHeader(6)
#5 /home/###/public_html/dev/concrete/vendor/zendframework/zend-mail/src/Headers.php(389): Zend\Mail\Headers->current()
#6 /home/###/public_html/dev/concrete/vendor/zendframework/zend-mail/src/Transport/Sendmail.php(229): Zend\Mail\Headers->toString()
#7 /home/###/public_html/dev/concrete/vendor/zendframework/zend-mail/src/Transport/Sendmail.php(127): Zend\Mail\Transport\Sendmail->prepareHeaders(Object(Zend\Mail\Message))
#8 /home/###/public_html/dev/concrete/src/Mail/Service.php(497): Zend\Mail\Transport\Sendmail->send(Object(Zend\Mail\Message))
#9 /home/###/public_html/dev/concrete/controllers/single_page/register.php(166): Concrete\Core\Mail\Service->sendMail()
#10 [internal function]: Concrete\Controller\SinglePage\Register->do_register()
#11 /home/###/public_html/dev/concrete/src/Controller/AbstractController.php(161): call_user_func_array(Array, Array)
#12 /home/###/public_html/dev/concrete/src/Routing/DispatcherRouteCallback.php(211): Concrete\Core\Controller\AbstractController->runAction('do_register', Array)
#13 /home/###/public_html/dev/concrete/src/Application/Application.php(449): Concrete\Core\Routing\DispatcherRouteCallback->execute(Object(Concrete\Core\Http\Request))
#14 /home/###/public_html/dev/concrete/bootstrap/start.php(305): Concrete\Core\Application\Application->dispatch(Object(Concrete\Core\Http\Request))
#15 /home/###/public_html/dev/concrete/dispatcher.php(36): require('/home/###/...')
#16 /home/###/public_html/dev/index.php(2): require('/home/###/...')
#17 {main}
Template Used: user_register_approval_required
To: ###@###.com
From: "Website Registration Notification"
Reply-To:
Subject: Registration - Approval Required
Body: Registration Approval Required
A new user has registered on your website. This account must be approved before it is active and may login....
kspitzley replied on at Permalink Reply
kspitzley
Also I just turned registration to "sign up and go" so that it does not trigger a mail event, so at least I can get it working, but it still would be good to have this issue resolved. I really wonder if it's something to do with my server (VPS at Bluehost...maybe I don't have mail services set up properly, or at all?)
BHWW replied on at Permalink Reply
BHWW
I have the same issue, has a solution been found?
kspitzley replied on at Permalink Reply
kspitzley
I really think this is because I migrated to a VPS and don't have a mail service set up...I haven't had a chance to look into it. What's your server set up?
BHWW replied on at Permalink Reply
BHWW
Sorry i forgot to monitor the discussion, i'm on a cloud server, however all my other sites are working fine, I have 18 sites on the same server with no issues, so something is off somewhere.
BHWW replied on at Permalink Reply
BHWW
Ahhh ha... I approached it a different way... using the mail test function in the system settings and found it was related to the mb_decode_mimeheader function.

Editing it in the file concrete/vendor/patchwork/utf8/class/Patchwork/Utf8/Bootup/iconv.php

on line 31 as such has solved my issue, not sure if i've created others!

//mb_decode_mimeheader($encoded_headers, $mode, $enc);};
mb_decode_mimeheader($encoded_headers);};
kspitzley replied on at Permalink Reply 1 Attachment
kspitzley
I don't know if you've tested you "forgot password" function, or any form submittal where you've got an email notification sent, but we're getting mail-related errors on those as well.
BHWW replied on at Permalink Reply
BHWW
Yep, but the above solution seems to fix it.
kspitzley replied on at Permalink Reply
kspitzley
You're right, that worked!! Thank you so much. It's always disconcerting to change a file so deeply within the core, but I'll take that over no solution at all! I'm assuming you've noticed no unintended consequences as a result of changing this file?