[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: fetchmail/exim chokes on a message...

On Thu, Oct 16, 2003 at 10:47:01AM -0700, Sanchez the Cactus wrote:
| I'm currently using fetchmail set up as a daemon to gather mail from
| various email accounts and deliver them on my system.  default exim3
| is installed, and users have .procmailrc files to direct mails to a
| local Maildir.
| occasionally, i'll stop getting any email, and the syslog will
| contain a line like:
| Oct 16 10:24:16 debian fetchmail[1101]: message delimiter found while scanning
| headers
| Oct 16 10:24:16 debian fetchmail[1101]: SMTP error: 501
| <myemailaddress@sbcglobal.net@pop-sbc-v1.mail.vip.sc5.yahoo.com>: malformed
| address: @pop-sbc-v1.mail.vip.sc5.yahoo.c may not follow
| <myemailaddress@sbcglobal.net

Junk mail.  You told exim to reject mail that is syntactically
invalid.  (syntactically invalid mail only comes from spammers, MS
OutHouse (when Bccing except under certain circumstances), and some
bady misconfigured systems (which are broken and need to be fixed
anyways).  You also told fetchmail to send mail to exim via the SMTP
protocol.  The problem is that fetchmail operates after mail has been
delivered, and fetchmail is not an MTA.  So it doesn't handle SMTP
rejects in an optimal manner because it is a rather unorthodox usage
of SMTP.

(FYI exim's logs will contain additional information;

| until I log in to the POP server and delete the offending message,
| my fetchmail setup stops working.

After understand the above chain-of-events, naturally :-).

| /etc/fetchmailrc reads as:
| set no bouncemail   
| defaults:
|   antispam -1
|   batchlimit 100
| poll pop.sbcglobal.yahoo.com with protocol pop3
|   user "username1@sbcglobal.net" there
|         with password "XXXXXXXXXXXX"
|         is "localuser1" here;
| poll pop.sbcglobal.yahoo.com with protocol pop3
|   user "user2@sbcglobal.net" there
|         with password "XXXXXXXXXXXXXXX"
|         is "user2" here;
| poll user3.pobox.stanford.edu with protocol imap
|         user "user3" there
|         with password "XXXXXXXXXXXXXXXXXX"
|         is "user3" here ssl;
| ----------end /etc/fetchmailrc

One solution, one I would recommend anyways, is to add
    with mda '/usr/sbin/sendmail %T'
to each of those stanzas.  That way fetchmail will use the local pipe
interface instead of SMTP inject the mail into your MTA (exim).  This
interface is simpler, more robust, and not prone to errors like the

| in any case, only the sbcglobal.yahoo.com accounts get the logjam:  i think it
| has to do with the fact that the login is "username@sbcglobal.net" rather than
| "username", but there is nothing in the individual messages that I can find
| that actually reads
| "myemailaddress@sbcglobal.net@pop-sbc-v1.mail.vip.sc5.yahoo.com" if i have
| evolution download the offending message from the server directly.

Look closer.  Look at the raw message headers.  Most likely evolution
is "being liberal in what it receives" and ignores the syntactically
invalid part when it displays the 

| searching google said this might have to do with exim rejecting the
| mails,


| so would it be easier to tell fetchmail to send the messages
| directly to procmail?

Yes, or send them directly to exim using a more appropriate protocol.

| if so, how would I go about this?

See above.  You can choose whatever program you want as the MDA, but I
would recommend using exim and letting it send the message through
procmail if appropriate.

| on the advice of that same google search, i've added the following 2
| lines to /etc/exim/exim.conf, but am still getting the problem.
| headers_sender_verify = false
| headers_check_syntax = false

You need to restart exim after modifying the config file.  This is the
other solution, besides not using SMTP between fetchmail and exim.
There might be another similar parameter that the particular garbage
noted above is triggering.

I rather liked the syntax checking option because it kept a bunch of
junk mail from entering my system.  (I ran exim as a normal server,
not behind fetchmail)


Your beauty should not come from outward adornment, such as braided hair
and the wearing of gold jewelry and fine clothes.  Instead, it should be
that of your inner self, the unfading beauty of a gentle and quiet
spirit, which is of GREAT WORTH in God's sight.  For this is the way the
holy women of the past used to make themselves beautiful.
        I Peter 3:3-5

Attachment: pgpysOBpoFUQT.pgp
Description: PGP signature

Reply to: