getgrav / grav-plugin-email

Grav Email Plugin
http://getgrav.org
MIT License
37 stars 29 forks source link

Undefined array key "bcc_name" #173

Closed matt-j-m closed 1 year ago

matt-j-m commented 1 year ago

Working perfectly for me on v3.2.0. When I update to 4.x email fails to send with the following messages:

[2023-05-31 10:40:08] grav.ERROR: Undefined array key "bcc_name" [] []
[2023-05-31 10:40:08] grav.CRITICAL: An error occurred while sending the email - Trace: #0 /opt/grav/user/plugins/login/login.php(928): Grav\Plugin\Login\Login->sendActivationEmail() #1 /opt/grav/user/plugins/login/login.php(1071): Grav\Plugin\LoginPlugin->processUserRegistration() #2 /opt/grav/vendor/symfony/event-dispatcher/EventDispatcher.php(264): Grav\Plugin\LoginPlugin->onFormProcessed() #3 /opt/grav/vendor/symfony/event-dispatcher/EventDispatcher.php(239): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch() #4 /opt/grav/vendor/symfony/event-dispatcher/EventDispatcher.php(73): Symfony\Component\EventDispatcher\EventDispatcher->callListeners() #5 /opt/grav/system/src/Grav/Common/Grav.php(597): Symfony\Component\EventDispatcher\EventDispatcher->dispatch() #6 /opt/grav/user/plugins/form/classes/Form.php(940): Grav\Common\Grav->fireEvent() #7 /opt/grav/user/plugins/form/form.php(279): Grav\Plugin\Form\Form->post() #8 /opt/grav/vendor/symfony/event-dispatcher/EventDispatcher.php(264): Grav\Plugin\FormPlugin->onPageInitialized() #9 /opt/grav/vendor/symfony/event-dispatcher/EventDispatcher.php(239): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch() #10 /opt/grav/vendor/symfony/event-dispatcher/EventDispatcher.php(73): Symfony\Component\EventDispatcher\EventDispatcher->callListeners() #11 /opt/grav/system/src/Grav/Common/Grav.php(597): Symfony\Component\EventDispatcher\EventDispatcher->dispatch() #12 /opt/grav/system/src/Grav/Common/Processors/PagesProcessor.php(60): Grav\Common\Grav->fireEvent() #13 /opt/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Common\Processors\PagesProcessor->process() #14 /opt/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle() #15 /opt/grav/system/src/Grav/Common/Processors/TwigProcessor.php(38): Grav\Framework\RequestHandler\RequestHandler->handle() #16 /opt/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Common\Processors\TwigProcessor->process() #17 /opt/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle() #18 /opt/grav/system/src/Grav/Common/Processors/AssetsProcessor.php(39): Grav\Framework\RequestHandler\RequestHandler->handle() #19 /opt/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Common\Processors\AssetsProcessor->process() #20 /opt/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle() #21 /opt/grav/system/src/Grav/Common/Processors/SchedulerProcessor.php(40): Grav\Framework\RequestHandler\RequestHandler->handle() #22 /opt/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Common\Processors\SchedulerProcessor->process() #23 /opt/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle() #24 /opt/grav/system/src/Grav/Common/Processors/BackupsProcessor.php(39): Grav\Framework\RequestHandler\RequestHandler->handle() #25 /opt/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Common\Processors\BackupsProcessor->process() #26 /opt/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle() #27 /opt/grav/system/src/Grav/Common/Processors/TasksProcessor.php(69): Grav\Framework\RequestHandler\RequestHandler->handle() #28 /opt/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Common\Processors\TasksProcessor->process() #29 /opt/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle() #30 /opt/grav/system/src/Grav/Common/Processors/RequestProcessor.php(64): Grav\Framework\RequestHandler\RequestHandler->handle() #31 /opt/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Common\Processors\RequestProcessor->process() #32 /opt/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle() #33 /opt/grav/system/src/Grav/Common/Processors/ThemesProcessor.php(38): Grav\Framework\RequestHandler\RequestHandler->handle() #34 /opt/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Common\Processors\ThemesProcessor->process() #35 /opt/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle() #36 /opt/grav/system/src/Grav/Common/Processors/PluginsProcessor.php(39): Grav\Framework\RequestHandler\RequestHandler->handle() #37 /opt/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Common\Processors\PluginsProcessor->process() #38 /opt/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle() #39 /opt/grav/system/src/Grav/Common/Processors/InitializeProcessor.php(130): Grav\Framework\RequestHandler\RequestHandler->handle() #40 /opt/grav/system/src/Grav/Common/Debugger.php(546): Grav\Common\Processors\InitializeProcessor::Grav\Common\Processors\{closure}() #41 /opt/grav/system/src/Grav/Common/Processors/InitializeProcessor.php(131): Grav\Common\Debugger->profile() #42 /opt/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Common\Processors\InitializeProcessor->process() #43 /opt/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle() #44 /opt/grav/system/src/Grav/Framework/RequestHandler/Middlewares/MultipartRequestSupport.php(40): Grav\Framework\RequestHandler\RequestHandler->handle() #45 /opt/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Framework\RequestHandler\Middlewares\MultipartRequestSupport->process() #46 /opt/grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle() #47 /opt/grav/system/src/Grav/Common/Grav.php(312): Grav\Framework\RequestHandler\RequestHandler->handle() #48 /opt/grav/index.php(47): Grav\Common\Grav->process() #49 {main} [] []
rhukster commented 1 year ago

Can you provide me with the form configuration that led to this? Specifically the bit that looks like this:

form:
 ...
 process:
  ...
  email:
   ... (this part specifically)
matt-j-m commented 1 year ago

It's for a user registration with the login plugin. Here's the frontmatter for the registration page:

title: 'Registration'
process:
    twig: true
    markdown: false
metadata:
    robots: 'noindex,nofollow'
forms:
    registration-form:
        fields:
            username:
                display_label: false
                classes: 'mt-2'
                outerclasses: field-container-wide
                placeholder: Username
                type: text
                validate:
                    required: true
                    message: PLUGIN_LOGIN.USERNAME_NOT_VALID
                    config-pattern@: system.username_regex
            email:
                display_label: false
                classes: 'mt-2'
                outerclasses: field-container-wide
                placeholder: Email
                type: email
                validate:
                    required: true
                    pattern: '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]*$'
                    message: 'Must be a valid email address.'
            password:
                id: password
                display_label: false
                classes: 'mt-2'
                outerclasses: 'field-container-wide margin-0'
                placeholder: 'Enter a password'
                type: password
                label: 'Enter a password'
                validate:
                    required: true
                    message: PLUGIN_LOGIN.PASSWORD_VALIDATION_MESSAGE
                    config-pattern@: system.pwd_regex
            toggle:
                display_label: false
                classes: 'mt-2'
                type: checkbox
                label: 'Show password'
                outerclasses: field-container-wide
        buttons:
            -
                type: submit
                value: Register
                classes: 'btn btn-secondary text-uppercase mt-2'
                outerclasses: text-center
        process:
            -
                register_user: true
rhukster commented 1 year ago

4.0.2 is in the pipeline to be released. This should resolve your issue.

matt-j-m commented 1 year ago

Thanks @rhukster email is now sending on v4.0.2