prefixed with 'new_' and 'old_' respectively. This is used in the
rt_ticket export when exporting "replace" events.
+=item from_config
+
+Configuration option to use as the source address, based on the customer's
+agentnum. If unspecified (or the named option is empty), 'invoice_from'
+will be used.
+
+The I<from_addr> field in the template takes precedence over this.
+
=item to
Destination address. The default is to use the customer's
-invoicing_list addresses.
+invoicing_list addresses. Multiple addresses may be comma-separated.
=back
# and email
###
- my @to = ($opt{'to'}) || $cust_main->invoicing_list_emailonly;
- #warn "prepared msg_template with no email destination (custnum ".
- # $cust_main->custnum.")\n"
- # if !@to;
- # warning is not appropriate now that we use these for tickets
+ my @to;
+ if ( exists($opt{'to'}) ) {
+ @to = split(/\s*,\s*/, $opt{'to'});
+ }
+ else {
+ @to = $cust_main->invoicing_list_emailonly;
+ }
+ # no warning when preparing with no destination
my $conf = new FS::Conf;
+ my $from_addr = $self->from_addr;
+
+ if ( !$from_addr ) {
+ if ( $opt{'from_config'} ) {
+ $from_addr = scalar( $conf->config($opt{'from_config'},
+ $cust_main->agentnum) );
+ }
+ $from_addr ||= scalar( $conf->config('invoice_from',
+ $cust_main->agentnum) );
+ }
(
- 'from' => $self->from_addr ||
- scalar( $conf->config('invoice_from', $cust_main->agentnum) ),
+ 'from' => $from_addr,
'to' => \@to,
'bcc' => $self->bcc_addr || undef,
'subject' => $subject,
[ company_address => sub {
$conf->config('company_address', shift->agentnum)
} ],
+ [ company_phonenum => sub {
+ $conf->config('company_phonenum', shift->agentnum)
+ } ],
],
# next_bill_date
'cust_pkg' => [qw(