Index: openacs-4/packages/bulk-mail/bulk-mail.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bulk-mail/bulk-mail.info,v diff -u -N -r1.19.2.1 -r1.19.2.2 --- openacs-4/packages/bulk-mail/bulk-mail.info 30 Jul 2020 16:36:23 -0000 1.19.2.1 +++ openacs-4/packages/bulk-mail/bulk-mail.info 10 Feb 2021 13:36:55 -0000 1.19.2.2 @@ -7,7 +7,7 @@ f f - + OpenACS 2017-08-06 DotLRN Consortium @@ -16,7 +16,7 @@ Provides an API for sending messages to a collection of users (which can be chosen via arbitrary sql). Mails can be personalized and can be scheduled for a later date. - + Index: openacs-4/packages/bulk-mail/sql/oracle/bulk-mail-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bulk-mail/sql/oracle/bulk-mail-create.sql,v diff -u -N -r1.4.2.1 -r1.4.2.2 --- openacs-4/packages/bulk-mail/sql/oracle/bulk-mail-create.sql 30 Jul 2020 16:36:23 -0000 1.4.2.1 +++ openacs-4/packages/bulk-mail/sql/oracle/bulk-mail-create.sql 10 Feb 2021 13:36:55 -0000 1.4.2.2 @@ -30,6 +30,7 @@ query clob constraint bm_messages_query_nn not null, + to_display_name text, status varchar2(100) default 'pending' constraint bm_messages_status_ck Index: openacs-4/packages/bulk-mail/sql/oracle/upgrade/upgrade-2.10.0d2-2.10.0d3.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bulk-mail/sql/oracle/upgrade/Attic/upgrade-2.10.0d2-2.10.0d3.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/bulk-mail/sql/oracle/upgrade/upgrade-2.10.0d2-2.10.0d3.sql 10 Feb 2021 13:36:55 -0000 1.1.2.1 @@ -0,0 +1,19 @@ + +alter table bulk_mail_messages add column to_display_name text; + +drop view bulk_mail_messages_unsent; + +drop view bulk_mail_messages_sent; + +create view bulk_mail_messages_unsent +as + select bulk_mail_messages.* + from bulk_mail_messages + where status = 'pending'; + +create view bulk_mail_messages_sent +as + select bulk_mail_messages.* + from bulk_mail_messages + where status = 'sent'; + Index: openacs-4/packages/bulk-mail/sql/postgresql/bulk-mail-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bulk-mail/sql/postgresql/bulk-mail-create.sql,v diff -u -N -r1.6.2.1 -r1.6.2.2 --- openacs-4/packages/bulk-mail/sql/postgresql/bulk-mail-create.sql 30 Jul 2020 16:36:23 -0000 1.6.2.1 +++ openacs-4/packages/bulk-mail/sql/postgresql/bulk-mail-create.sql 10 Feb 2021 13:36:55 -0000 1.6.2.2 @@ -36,6 +36,7 @@ query text constraint bm_messages_query_nn not null, + to_display_name text, status varchar(100) default 'pending' constraint bm_messages_status_ck Index: openacs-4/packages/bulk-mail/sql/postgresql/upgrade/upgrade-2.10.0d2-2.10.0d3.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bulk-mail/sql/postgresql/upgrade/Attic/upgrade-2.10.0d2-2.10.0d3.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/bulk-mail/sql/postgresql/upgrade/upgrade-2.10.0d2-2.10.0d3.sql 10 Feb 2021 13:36:55 -0000 1.1.2.1 @@ -0,0 +1,22 @@ +begin; + +alter table bulk_mail_messages add column to_display_name text; + +drop view bulk_mail_messages_unsent; + +drop view bulk_mail_messages_sent; + +create view bulk_mail_messages_unsent +as + select bulk_mail_messages.* + from bulk_mail_messages + where status = 'pending'; + +create view bulk_mail_messages_sent +as + select bulk_mail_messages.* + from bulk_mail_messages + where status = 'sent'; + + +end; Index: openacs-4/packages/bulk-mail/tcl/bulk-mail-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bulk-mail/tcl/bulk-mail-procs.tcl,v diff -u -N -r1.18.2.2 -r1.18.2.3 --- openacs-4/packages/bulk-mail/tcl/bulk-mail-procs.tcl 10 Feb 2021 11:50:16 -0000 1.18.2.2 +++ openacs-4/packages/bulk-mail/tcl/bulk-mail-procs.tcl 10 Feb 2021 13:36:55 -0000 1.18.2.3 @@ -86,6 +86,7 @@ {-message:required} {-message_type ""} {-query:required} + {-to_display_name ""} } { create a new bulk_mail message @@ -119,6 +120,11 @@ respective values will also become the 'from_addr', 'reply_to', 'subject', and 'message' on a per recipient basis. + @param to_display_name Display name set for the recipient in + the To: email header, useful to qualify + the individual recipient as e.g. member + of the group of people who have + received the bulk_mail message. @return bulk_mail_id the id of the newly created bulk_mail message } { @@ -169,7 +175,8 @@ reply_to, extra_headers, message, - query + query, + to_display_name ) values ( @@ -183,7 +190,8 @@ :reply_to, :extra_headers, :message, - :query + :query, + :to_display_name ) } @@ -290,9 +298,18 @@ set mime_type "text/plain" } + set to_addr [ns_set get $recipient email] + set to_display_name [ns_set get $bulk_mail to_display_name] + if {$to_display_name ne ""} { + # If a display name has been specified, include it in + # the recipient address. + regsub -all "\"" $to_display_name "\\\"" to_display_name + set to_addr [subst -nocommands {"${to_display_name}" <${to_addr}>}] + } + # both html and plain messages can now be sent the same way acs_mail_lite::send \ - -to_addr [ns_set get $recipient email] \ + -to_addr $to_addr \ -from_addr $from_addr \ -subject $subject \ -body $message \