- my $cust_msg = $options{'cust_msg'};
- if ( $cust_msg ) {
- $cust_msg->env_from($options{from});
- $cust_msg->env_to(join(",", @to));
- $cust_msg->header($message->header_as_string);
- $cust_msg->body($message->body_as_string);
- $cust_msg->_date($time);
- $cust_msg->error($error);
- $cust_msg->status( $error ? 'failed' : 'sent' );
- $cust_msg->replace;
- };
- return $error;
+ if ( $conf->exists('log_sent_mail') and $options{'custnum'} ) {
+ my $cust_msg = FS::cust_msg->new({
+ 'env_from' => $options{'from'},
+ 'env_to' => join(', ', @to),
+ 'header' => $message->header_as_string,
+ 'body' => $message->body_as_string,
+ '_date' => $time,
+ 'error' => $error,
+ 'custnum' => $options{'custnum'},
+ 'msgnum' => $options{'msgnum'},
+ 'status' => ($error ? 'failed' : 'sent'),
+ });
+ $cust_msg->insert; # ignore errors
+ }