void
moan_write_from(FILE *f)
{
-uschar * s = expand_string(dsn_from);
-if (!s)
+uschar * s;
+GET_OPTION("dsn_from");
+if (!(s = expand_string(dsn_from)))
{
log_write(0, LOG_MAIN|LOG_PANIC,
"Failed to expand dsn_from (using default): %s", expand_string_message);
/* For DMARC if there is a specific sender set, expand the variable for the
header From: and grab the address from that for the envelope FROM. */
+GET_OPTION("dmarc_forensic_sender");
if ( ident == ERRMESS_DMARC_FORENSIC
&& dmarc_forensic_sender
&& (s = expand_string(dmarc_forensic_sender))
{
uschar *new_sender = NULL;
if (regex_match_and_setup(regex_From, big_buffer, 0, -1))
+ {
+ GET_OPTION("uucp_from_sender");
new_sender = expand_string(uucp_from_sender);
+ }
if (new_sender) sender_address = new_sender;
- else firstline = big_buffer;
+ else firstline = big_buffer;
}
/* If viable sender address, send a message */
case ERRMESS_TOOMANYRECIP:
log_write(0, LOG_MAIN, "%s: too many recipients (max set to %d)", msg,
- recipients_max);
+ recipients_max_expanded);
break;
case ERRMESS_LOCAL_SCAN: