Elric of Grans |
02-15-2007 11:30 PM |
Email nightmares (sendmail and the local mailer)
I had an email system configured and working quite some time ago on a system that almost never receives email. As a result, I have only recently noticed that it was not receiving new mail, so I am not sure when or why it stopped working. There have been numerous software updates since I last checked it, so it likely lies in there somewhere.
As far as I can see, fetchmail is having no difficulty picking up email from the server, and it seems like it passes it onto sendmail without any issues (/var/spool/mail/mqueue/ gets a new directory every time I send a test email, which suggests sendmail is acting normally). Trying sendmail -v -q results in an error relating to the local mailer (maildrop):
Code:
Running /var/spool/mqueue/A015n3S6001690 (sequence 1 of 6)
/etc/mail/aliases: 26 aliases, longest 10 bytes, 287 bytes total
aliased to root
root... Connecting to local...
root... Deferred: local mailer (/usr/bin/maildrop) exited with EX_TEMPFAIL
Running /var/spool/mqueue/A0150HK8001669 (sequence 2 of 6)
<sysadmin@localhost>... Connecting to local...
<sysadmin@localhost>... Deferred: local mailer (/usr/bin/maildrop) exited with EX_TEMPFAIL
Running /var/spool/mqueue/A013d3W5001652 (sequence 3 of 6)
root... aliased to root
root... Connecting to local...
root... Deferred: local mailer (/usr/bin/maildrop) exited with EX_TEMPFAIL
Running /var/spool/mqueue/A013p1K9001657 (sequence 4 of 6)
root... aliased to root
root... Connecting to local...
root... Deferred: local mailer (/usr/bin/maildrop) exited with EX_TEMPFAIL
Running /var/spool/mqueue/A011ciqG001621 (sequence 5 of 6)
<root@osk.capgo.com>... aliased to root
<root@osk.capgo.com>... Connecting to local...
<root@osk.capgo.com>... Deferred: local mailer (/usr/bin/maildrop) exited with EX_TEMPFAIL
Warning: could not send message for past 4 hours
<postmaster@osk.capgo.com>... aliased to root
root... aliased to root
root... Connecting to local...
root... Deferred: local mailer (/usr/bin/maildrop) exited with EX_TEMPFAIL
Running /var/spool/mqueue/A010UfNM001627 (sequence 6 of 6)
<guru@localhost>... Connecting to local...
<guru@localhost>... Deferred: local mailer (/usr/bin/maildrop) exited with EX_TEMPFAIL
Now, for testing, I make a mock email in a text file, and tried sending it with the following:
Code:
cat test.email | maildrop -V 5 -d root
Which results in the following:
Code:
maildrop: Changing to /
Message start at 61 bytes, envelope sender=matthew@localhost.localdomain
/etc/maildroprc(1): DEFAULT="/var/spool/mail/root"
/etc/maildroprc(2): SHELL="/bin/sh"
/etc/maildroprc(3): SENDMAIL="/usr/sbin/sendmail"
/etc/maildroprc(5): Evaluating IF condition.
Matching /^X-Virus-Flag: YES/ against Return-Path: <matthew@localhost.localdomain>
Not matched.
Matching /^X-Virus-Flag: YES/ against X-Original-To: matthew
Not matched.
Matching /^X-Virus-Flag: YES/ against Delivered-To: matthew@localhost.localdomain
Not matched.
Matching /^X-Virus-Flag: YES/ against Received: by localhost.localdomain (Postfix, from userid 1000) id 18A1F1CF3AB; Fri, 16 Feb 2007 14:08:24 +1100 (EST)
Not matched.
Matching /^X-Virus-Flag: YES/ against To: matthew@localhost.localdomain
Not matched.
Matching /^X-Virus-Flag: YES/ against Subject: hello
Not matched.
Matching /^X-Virus-Flag: YES/ against Message-Id: <20070216030824.18A1F1CF3AB@localhost.localdomain>
Not matched.
Matching /^X-Virus-Flag: YES/ against Date: Fri, 16 Feb 2007 14:08:24 +1100 (EST)
Not matched.
Matching /^X-Virus-Flag: YES/ against From: matthew@localhost.localdomain (Matthew Percival)
Not matched.
/etc/maildroprc(5): Search of ^X-Virus-Flag: YES = 0
/etc/maildroprc(5): IF evaluated, result=0
/etc/maildroprc(11): Evaluating IF condition.
Matching /^X-Spam-Flag: YES/ against Return-Path: <matthew@localhost.localdomain>
Not matched.
Matching /^X-Spam-Flag: YES/ against X-Original-To: matthew
Not matched.
Matching /^X-Spam-Flag: YES/ against Delivered-To: matthew@localhost.localdomain
Not matched.
Matching /^X-Spam-Flag: YES/ against Received: by localhost.localdomain (Postfix, from userid 1000) id 18A1F1CF3AB; Fri, 16 Feb 2007 14:08:24 +1100 (EST)
Not matched.
Matching /^X-Spam-Flag: YES/ against To: matthew@localhost.localdomain
Not matched.
Matching /^X-Spam-Flag: YES/ against Subject: hello
Not matched.
Matching /^X-Spam-Flag: YES/ against Message-Id: <20070216030824.18A1F1CF3AB@localhost.localdomain>
Not matched.
Matching /^X-Spam-Flag: YES/ against Date: Fri, 16 Feb 2007 14:08:24 +1100 (EST)
Not matched.
Matching /^X-Spam-Flag: YES/ against From: matthew@localhost.localdomain (Matthew Percival)
Not matched.
/etc/maildroprc(11): Search of ^X-Spam-Flag: YES = 0
/etc/maildroprc(11): IF evaluated, result=0
maildrop: Attempting .mailfilter
maildrop: Delivering to /var/spool/mail/root
maildrop: Flock()ing /var/spool/mail/root.
maildrop: Appending to /var/spool/mail/root.
maildrop: Delivery complete.
Sure enough, /var/spool/mail/root now has a new email and everything seems fine. For what it is worth, my /etc/maildroprc is as follows:
Code:
DEFAULT="/var/spool/mail/root"
SHELL="/bin/sh"
SENDMAIL="/usr/sbin/sendmail"
if ( /^X-Virus-Flag: YES/ )
{
`maildirmake -f Virus "$DEFAULT"`
to "/dev/null"
}
if ( /^X-Spam-Flag: YES/ )
{
`maildirmake -f Spam "$DEFAULT"`
to "/dev/null"
}
# eof
Clearly maildrop works fine, so I would imagine the issue lies in sendmail. Trying the following test:
Code:
cat test.email | sendmail -v matthew
I get this:
Code:
Who are you?: Permission denied
matthew... Connecting to [127.0.0.1] via relay...
220 osk.capgo.com ESMTP Sendmail 8.13.6/8.13.6; Wed, 31 Dec 1969 23:49:03 -0600
>>> EHLO osk.capgo.com
250-osk.capgo.com Hello localhost.localdomain [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-DELIVERBY
250 HELP
>>> VERB
250 2.0.0 Verbose mode
>>> MAIL From:<postmaster@osk.capgo.com> SIZE=515
250 2.1.0 <postmaster@osk.capgo.com>... Sender ok
>>> RCPT To:<matthew@osk.capgo.com>
>>> DATA
050 /etc/mail/aliases: 26 aliases, longest 10 bytes, 287 bytes total
550 5.1.1 User unknown
503 5.0.0 Need RCPT (recipient)
>>> RSET
250 2.0.0 Reset state
>>> RSET
250 2.0.0 Reset state
postmaster... Using cached ESMTP connection to [127.0.0.1] via relay...
>>> MAIL From:<> SIZE=1539
250 2.1.0 <>... Sender ok
>>> RCPT To:<postmaster@osk.capgo.com>
>>> DATA
050 <postmaster@osk.capgo.com>... aliased to root
050 root... aliased to root
250 2.1.5 <postmaster@osk.capgo.com>... Recipient ok
354 Enter mail, end with "." on a line by itself
>>> .
050 root... Connecting to local...
050 root... Deferred: local mailer (/usr/bin/maildrop) exited with EX_TEMPFAIL
250 2.0.0 A015n3S6001690 Message accepted for delivery
postmaster... Sent (A015n3S6001690 Message accepted for delivery)
Closing connection to [127.0.0.1]
>>> QUIT
221 2.0.0 osk.capgo.com closing connection
From what I can tell from Google, EX_TEMPFAIL means that maildrop should be the problem, yet it seems to work perfectly fine. I have been trying to find a solution to this for the past two days, but
EDIT (submitted by accident mid sentance):
...seem to be going around in circles. Any suggestions or guidance would be most welcome!
|