diff options
Diffstat (limited to 'mockmta.c')
-rw-r--r-- | mockmta.c | 31 |
1 files changed, 20 insertions, 11 deletions
@@ -1367,7 +1367,7 @@ smtp_data (struct smtp *smtp) FILE *fp; ssize_t n; time_t t; - int res; + int res = 0; int in_body = 0; fd = mkstemp (template); @@ -1460,18 +1460,27 @@ smtp_data (struct smtp *smtp) pthread_cleanup_pop (1); - if (smtp->nrcpt > 1) - logger (LOG_INFO, "%s => %s (%d recipients) delivered", - smtp->sender, smtp->rcpt[0], smtp->nrcpt); - else - logger (LOG_INFO, "%s => %s delivered", - smtp->sender, smtp->rcpt[0]); - if (res) - smtp_io_send (smtp, 451, "Local filesystem error"); + { + if (smtp->nrcpt > 1) + logger (LOG_INFO, "%s => %s (%d recipients) failed", + smtp->sender, smtp->rcpt[0], smtp->nrcpt); + else + logger (LOG_INFO, "%s => %s failed", + smtp->sender, smtp->rcpt[0]); + smtp_io_send (smtp, 451, "Local filesystem error"); + } else - smtp_io_send (smtp, 250, "%s Message accepted for delivery", smtp->sid); - smtp->delivered++; + { + if (smtp->nrcpt > 1) + logger (LOG_INFO, "%s => %s (%d recipients) delivered", + smtp->sender, smtp->rcpt[0], smtp->nrcpt); + else + logger (LOG_INFO, "%s => %s delivered", + smtp->sender, smtp->rcpt[0]); + smtp_io_send (smtp, 250, "%s Message accepted for delivery", smtp->sid); + smtp->delivered++; + } return res; } |