Bug 12802 allows libraries to select a list of email address fields to use when sending notices to patrons. You would check all of the email addresses you want to use in a new system preference EmailFieldSelection and Koha will send the notice to all of those addresses. However, all of those addresses do go through in the To field. They are not in the BCC field. It would be good to enable the option to use the BCC field for the email addresses rather than the To field.
Created attachment 170249 [details] [review] Bug 37598: Add EmailRecipientField syspref
Created attachment 170250 [details] [review] Bug 37598: Use EmailRecipientField for 'to', 'cc' or 'bcc' when sending notices to selected addresses
Created attachment 170254 [details] [review] Bug 37598: Add EmailRecipientField syspref
Created attachment 170255 [details] [review] Bug 37598: Use EmailRecipientField for 'to', 'cc' or 'bcc' when sending notices to selected addresses
Created attachment 170256 [details] [review] Bug 37598: Tests for t/db_dependent/Letters.t WIP
Created attachment 171112 [details] [review] Bug 37598: Add EmailRecipientField syspref
Created attachment 171113 [details] [review] Bug 37598: Use EmailRecipientField for 'to', 'cc' or 'bcc' when sending notices to selected addresses
Created attachment 171114 [details] [review] Bug 37598: Tests for t/db_dependent/Letters.t To test: 1. Apply patches and update database, restart services 2. Go to Koha administration -> system preferences, search for EmailFieldPrimary 3. Change EmailFieldPrimary to 'selected addresses' 4. Make a selection in the EmailFieldSelection system preference 5. Notice the new EmailRecipientField system preference, it should be set to "To" by default. 6. Have a patron with different addresses in the email fields, depending on the selection you made in EmailFieldSelection: - primary email - alternate email - secondary email 7. Test the new EmailRecipientField system preference using the Welcome email, found by going to the Patron, clicking More, then choosing "Send Welcome notice" 8. In the command line, go to the database `sudo koha-mysql <instancename>` and look at the message_queue to see who the emails are sent to `select * from message_queue\G`. The to_address will contain all the selected email addresses. 9. In the command line, run `misc/cronjobs/process_message_queue.pl` 10. Confirm that the to_address and cc_address are set appropriately based on EmailRecipientField 12. Repeat steps 7-9, testing with different values of EmailRecipientField. When testing EmailRecipientField with bcc, confirm that the to_address is just the first valid email address. Unfortunately we can't test bcc without actually sending the email. 13. Confirm tests pass t/db_dependent/Letters.t Sponsored-by: Pymble Ladies' College
Hi, Applying: Bug 37598: Add EmailRecipientField syspref Using index info to reconstruct a base tree... M installer/data/mysql/mandatory/sysprefs.sql M koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/patrons.pref Falling back to patching base and 3-way merge... Auto-merging koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/patrons.pref CONFLICT (content): Merge conflict in koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/patrons.pref Auto-merging installer/data/mysql/mandatory/sysprefs.sql error: Failed to merge in the changes. Patch failed at 0001 Bug 37598: Add EmailRecipientField syspref
Created attachment 180425 [details] [review] Bug 37598: Add EmailRecipientField syspref
Created attachment 180426 [details] [review] Bug 37598: Use EmailRecipientField for 'to', 'cc' or 'bcc' when sending notices to selected addresses
Created attachment 180427 [details] [review] Bug 37598: Tests for t/db_dependent/Letters.t To test: 1. Apply patches and update database, restart services 2. Go to Koha administration -> system preferences, search for EmailFieldPrimary 3. Change EmailFieldPrimary to 'selected addresses' 4. Make a selection in the EmailFieldSelection system preference 5. Notice the new EmailRecipientField system preference, it should be set to "To" by default. 6. Have a patron with different addresses in the email fields, depending on the selection you made in EmailFieldSelection: - primary email - alternate email - secondary email 7. Test the new EmailRecipientField system preference using the Welcome email, found by going to the Patron, clicking More, then choosing "Send Welcome notice" 8. In the command line, go to the database `sudo koha-mysql <instancename>` and look at the message_queue to see who the emails are sent to `select * from message_queue\G`. The to_address will contain all the selected email addresses. 9. In the command line, run `misc/cronjobs/process_message_queue.pl` 10. Confirm that the to_address and cc_address are set appropriately based on EmailRecipientField 12. Repeat steps 7-9, testing with different values of EmailRecipientField. When testing EmailRecipientField with bcc, confirm that the to_address is just the first valid email address. Unfortunately we can't test bcc without actually sending the email. 13. Confirm tests pass t/db_dependent/Letters.t Sponsored-by: Pymble Ladies' College
Comment on attachment 180426 [details] [review] Bug 37598: Use EmailRecipientField for 'to', 'cc' or 'bcc' when sending notices to selected addresses Review of attachment 180426 [details] [review]: ----------------------------------------------------------------- ::: C4/Letters.pm @@ +1516,5 @@ > ); > return; > } > + > + my $bcc_address = C4::Context->preference('NoticeBcc'); Wouldn't it make sense to put the following into its own function and then unit test that?
This is an interesting one. We don't use multi email addresses with Koha at this point, but I have been thinking how it would be nice to be able to use BCC instead of To at times...
(In reply to David Cook from comment #13) > Wouldn't it make sense to put the following into its own function and then > unit test that? The function it's in is already a hidden one, so I'm not sure that would add much more value or clarity at the moment? But happy to be told I'm wrong, just trying to use our sponsorship wisely here :)