Re: How getmail deals with delivery errors and with bounce e-mails

Langenxx Feld <[email protected]>
Newsgroups gmane.mail.getmail.user
Message-ID <[email protected]>
Once more, thanks for your answers.

>> How will you find out that some inbound mails are forever stuck in the
>> external POP3 mailbox, because getmail fails to deliver them every
>> time?
>>
> a) getmail generates error messages which ARE delivered normally
> b) You can always point your favourite MUA at the ISP's POP3 mailbox
>     and see whats there. This doesn't delete messages unless you request
>     them to be deleted or configure your MUA to delete them.

Let's look at this again, because I haven't quite understood that yet.

When getmail fetches a message via POP3, and trying to deliver it fails:

1) getmail leaves the message in the POP3 mailbox, so next time around it will be retried.

2) getmail prints an error to stderr, but does not stop, it just carries on with the next mail.

getmail does not document an exit code, which can be consider an oversight (a software quality defect) in itself.

So getmail will not tell you that one of the e-mails has failed to deliver.

If you are using an internal Postfix, you are actually going the way [ external provider MDA -> POP3 -> internal MTA ]. That is, you are reinjecting 
an already delivered mail into an MTA. That is going to break a very, very important, not clearly documented, rule, that everybody should infer by 
reading many man pages and RFCs, so you will be punished by the big mail server people around here. ;-)

Anyway, Postfix will generate a bounce to your personal e-mail account. But let's say for a moment that running Postfix itself fails. I mean that 
Postfix's sendmail fails (the disk is full, whatever), and exits with a non-zero exit code. Then getmail will behave as described above: it will 
consider the delivery of that e-mail as failed.

Now the question is, how do you realise that getmail has failed to "deliver", either directly with dovecot-lda in my current test setup, or by 
attempting to run Postfix's sendmail in your case?

What do you mean by "getmail generates error messages which ARE delivered normally"? getmail does not deliver anything, it just writes to stderr.

So the question is: are you grabbing getmail's stderr and mailing it locally to root -> which then gets forwarded to your personal e-mail? Do you grep 
for error indications? Or you just like reading automatically-generated e-mails with getmail's log out? Or even the whole syslog? ;-)

Or are actually manually checking every now and then whether there are still e-mails on the POP3 mailbox at your ISP that have been there for quite 
some time, because they keep failing?

If the whole e-mail delivery breaks, you are going to realise that something is foul. But if only the odd message gets stuck, you may not notice for a 
long time without some automatic warning.

Regards,
   rdiez
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.