Failure to report send errors

Michal Sojka sojkam1 at fel.cvut.cz
Thu Mar 29 04:09:43 PDT 2018


Dear Gnus developers,

(CCing notmuch, because their users can be affected too)

When message-interactive is nil, message-send can falsely report
success even when sending fails and there is no way for the user to
learn about the failure, expect from angry peers complaining about not
receiving replies.

The function responsible for this problematic behavior is
message-send-mail-with-sendmail. It works in two modes: interactive
and non-interactive depending on the value of message-interactive. The
problem happens in the non-interactive mode (which is not the
default).

It executes sendmail with -odb -oem, which means that delivery should
happen in background and errors should be reported to the user via
email. sendmail is executed via call-process-region called without
BUFFER argument, meaning that the return value is always nil. If
sendmail fails to execute at all, perhaps due to corrupted configuration
file, neither the message nor any error email is ever sent, but the user
sees false "Sending...done" message.

I think that call-process-region should be always called with a BUFFER
so that sendmail exit code is returned and communicated to the user.

Best regards,
-Michal


More information about the notmuch mailing list