[Dovecot] sieve - Sendmail process terminated abnormally, exit status 70
How do we start troubleshooting this?
deliver(user@example.com): Aug 12 18:27:19 Error: Sendmail process terminated abnormally, exit status 70
deliver(user@example.com): Aug 12 18:27:19 Info: sieve runtime error: Vacation: Error sending mail
deliver(user@example.com): Aug 12 18:27:19 Info: msgid=48A20E3C.7070307@example.com: saved mail to INBOX
deliver(user@example.com): Aug 12 18:27:19 Error: sieve_execute_bytecode(/var/vmail/example.com/user//Home/.dovecot.sievec) failed
It seems to only choke on the vacation portion. It creates entries in the ".dovecot.lda-dupes" file. But then dies while sending the reply e-mail.
The contents of the user's .dovecot.sieve file is:
require ["fileinto", "include", "vacation"];
# Move spam to spam folder if exists "X-Spam-Flag" { fileinto "spam"; # Stop here so that we do not reply on spams stop; }
include :personal "sieve-vacation";
And the "" file looks like:
require ["vacation"];
vacation
# Reply at most once a day to a same sender :days 1
:subject "Out of office reply"
# List of recipient addresses which are included in the auto replying. # If a mail's recipient is not on this list, no vacation reply is sent for it. :addresses "user@example.com"
"blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah, user@example.com";
If I comment out the "include :personal "sieve-vacation";" line, then it works, but obviously not the vacation portion. Deliver does at least not die horribly.
I get the same error if I move the content of the vacation include file into the main ".dovecot.sieve" file.
# ls -la /usr/local/libexec/dovecot/lda/ -rwsr-xr-x 1 root root 802824 Aug 12 18:12 deliver
# ls -la /usr/libexec/dovecot/ total 5728 drwxr-xr-x 2 root root 4096 Jul 31 04:04 . drwxr-xr-x 11 root root 4096 Jul 25 04:39 .. -rwxr-xr-x 1 root root 58416 Jul 24 06:32 checkpassword-reply -rwxr-xr-x 1 root root 666128 Jul 24 06:32 convert-tool -rwxr-xr-x 1 root root 802824 Jul 24 06:32 deliver -rwxr-xr-x 1 root root 164176 Jul 24 06:32 dict -rwxr-xr-x 1 root root 350384 Jul 24 06:32 dovecot-auth -rwxr-xr-x 1 root root 674176 Jul 24 06:32 expire-tool -rwxr-xr-x 1 root root 59200 Jul 24 06:32 gdbhelper -rwxr-xr-x 1 root root 245872 Jul 24 06:32 idxview -rwxr-xr-x 1 root root 854488 Jul 24 06:32 imap -rwxr-xr-x 1 root root 157216 Jul 24 06:32 imap-login -rwxr-xr-x 1 root root 61248 Jul 24 06:32 listview -rwxr-xr-x 1 root root 61800 Jul 24 06:32 logview -rwxr-xr-x 1 root root 74200 Jul 24 06:32 maildirlock -rwxr-xr-x 1 root root 931 Jul 24 06:27 mkcert.sh -rwxr-xr-x 1 root root 787464 Jul 24 06:32 pop3 -rwxr-xr-x 1 root root 149152 Jul 24 06:32 pop3-login -rwxr-xr-x 1 root root 83968 Jul 24 06:32 rawlog -rwxr-xr-x 1 root root 165152 Jun 11 03:21 sievec -rwxr-xr-x 1 root root 157216 Jun 11 03:21 sieved -rwxr-xr-x 1 root root 62584 Jul 24 06:32 ssl-build-param
(output of "yum list") dovecot.x86_64 :1.1.2-2_77.el5 installed dovecot-sieve.x86_64 1.1.5-8.el5 installed
I'm not finding any AVC errors in the SELinux audit.log file. And I'm not sure what other switches I can turn on to get better error information as to what sendmail/deliver are choking on in this virtual (setuid) environment where we use Dovecot as the LDA.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Tue, 12 Aug 2008, Thomas Harold wrote:
Check out /usr/include/sysexits.h what exit code 70 means on your system - 70 is internal software error in Linux. Then check when /usr/lib/sendmail will exit with this code.
Deliver will run /usr/lib/sendmail with the uid of the target mailbox, you said virtual user - so you've configured the id in dovecot.conf, I guess.
E.g. test with:
su vuser -c '/usr/lib/sendmail -i -f sender -- target-address'
< testmail ; echo $?
Bye,
Steffen Kaiser -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFIopCUVJMDrex4hCIRAohdAJ9qIoQx+XEHbz1vRvqCZP0bDzm2EQCfW61C wvN3iYpFkPPk/v+xRfx0Mjk= =N4J2 -----END PGP SIGNATURE-----
Steffen Kaiser, 13.08.2008 (d.m.y):
On Tue, 12 Aug 2008, Thomas Harold wrote:
Check out /usr/include/sysexits.h what exit code 70 means on your system
- 70 is internal software error in Linux. Then check when /usr/lib/sendmail will exit with this code.
Deliver will run /usr/lib/sendmail with the uid of the target mailbox, you said virtual user - so you've configured the id in dovecot.conf, I guess.
I just had a similar problem caused by the fact that /usr/lib/sendmail was missing. As I'm using exim as MTA, I created /usr/lib/sendmail as a symlink pointing to the exim binary.
Regards, Christian
-- Q: What's a WASP's idea of open-mindedness? A: Dating a Canadian.
Christian Schmidt wrote:
Steffen Kaiser, 13.08.2008 (d.m.y):
On Tue, 12 Aug 2008, Thomas Harold wrote:
Check out /usr/include/sysexits.h what exit code 70 means on your system
- 70 is internal software error in Linux. Then check when /usr/lib/sendmail will exit with this code.
Deliver will run /usr/lib/sendmail with the uid of the target mailbox, you said virtual user - so you've configured the id in dovecot.conf, I guess.
I just had a similar problem caused by the fact that /usr/lib/sendmail was missing. As I'm using exim as MTA, I created /usr/lib/sendmail as a symlink pointing to the exim binary.
That was an excellent tip. I started looking closely at /usr/lib/sendmail and following the link chain. Which led me back to /usr/sbin/sendmail.sendmail.
Which is probably not the correct sendmail binary to be using when we're running postfix. Apparently, back when I setup this server many months ago, I never installed or ran:
# yum install system-switch-mail # system-switch-mail
Which switches the links around to point at "sendmail.postfix".
Once I fixed that, I had to adjust SELinux properties to create a custom profile to allow the sendmail binary to do its work.
Thank you both for the pointers, everything is now working properly for vacation auto-responses.
(Oddly enough, the broken setup worked with Dovecot 1.0 - and only reared its head after we upgraded to Dovecot 1.1.)
participants (3)
-
Christian Schmidt
-
Steffen Kaiser
-
Thomas Harold