If a patron has email messaging preferences set but no email address, a message will be added to the message queue anyway, but will always end up 'failed'. This could be resolved by modifying C4::Letters::enqueue to not enqueue call EnqueueLetter if the transport is email or sms and no to address is returned.
Created attachment 43161 [details] [review] Bug 14964 - Email notices will be queued for patrons with no email address If a patron has email messaging preferences set but no email address, a message will be added to the message queue anyway, but will always end up 'failed'. This could be resolved by modifying C4::Letters::enqueue to not enqueue call EnqueueLetter if the transport is email or sms and no to address is returned. Test Plan: 1) Set up patron with checkout messaging preference and no email address 2) Check out an item to the patron 3) Note the message in the message queue with no email address 4) Apply this patch 5) Check out an item to the patron 6) Note no message was queued this time
Created attachment 43162 [details] [review] Bug 14964 - Email notices will be queued for patrons with no email address If a patron has email messaging preferences set but no email address, a message will be added to the message queue anyway, but will always end up 'failed'. This could be resolved by modifying C4::Letters::enqueue to not enqueue call EnqueueLetter if the transport is email or sms and no to address is returned. Test Plan: 1) Set up patron with checkout messaging preference and no email address 2) Check out an item to the patron 3) Note the message in the message queue with no email address 4) Apply this patch 5) Check out an item to the patron 6) Note no message was queued this time
This functionality could be in conflict with: Bug 12426 - Allow resending of emails from the notices tab in the patron account
Wondering... should we queue a message of the type 'print' if there is no e-mail address? I think this might be what we do for overdues
... but probably should be configurable - for some notices you might not want to have a printed one
I cringe at the lack of test coverage for C4::Message. *sigh*
This has become a little more "interesting" since in 24.11 the missing of an email addresses generates errors in the log instead of silently failing as before: FAIL: No 'to_address', email address or guarantors email address for borrowernumber (4009) at /usr/share/koha/lib/C4/Letters.pm line 1417. As we check regularly for problems with the crons this is currently creating quite a flood of email for us.
(In reply to Katrin Fischer from comment #4) > Wondering... should we queue a message of the type 'print' if there is no > e-mail address? I think this might be what we do for overdues > ... but probably should be configurable - for some notices you might not > want to have a printed one Definitely should be configurable. The volume of print messages could become massive if it was a mandatory fallback, and most of the patrons, though having no email address, would have enabled email notifications. It would happen when a library, that has enabled some default messaging preferences from the patron category, doesn't systemically collect patron email addresses. If we absolutely must fallback to some type of messaging, I'd rather display them in OPAC notifications from Bug 36006. I also remember developing code for messaging preferences where one could not check email messaging preferences before providing the email address, but it seems that functionality has not yet made it into Koha. (probably Bug 18595 patch (follow-up) Disable transports if missing contact information)