A maildrop queue file is created when something submits mail with
the Postfix sendmail command, or when a maildrop queue file is
renamed from the incoming/active/deferred queue with the "postsuper
-r" command.

Local submission:
    sendmail command command->postdrop command->maildrop queue file->
        pickup daemon->cleanup daemon->incoming queue file

"postsuper -r" resubmission:
    existing incoming or deferred queue file->maildrop queue file

It would be helpful if the pickup daemon logged the owner UID of
the maildrop queue file. That would help to distinguish between
local submission or "postsuper -r" resubmission. 

But it doesn't. So we use a different way to make the distinction:
each method produces different error messages for "no recipients".

Invoking "postsuper -r" for a queue file after all its recipients
are delivered will result in the above error message.

We can eliminate the postfix sendmail command from consideration,
because that results in a different error when a submission has no
recipients:

$ sendmail </dev/null
sendmail: fatal: Recipient addresses must be specified on the command line or 
via the -t option

$ sendmail -t < /dev/null
sendmail: fatal: wietse(1001): No recipient addresses found in message header

So I speculate that what you see was the result of a "postsuper -r"
race condition.

        Wietse

Reply via email to