Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Email conundrum, might be MIME::Lite vs. Earthlink

by dws (Chancellor)
on Sep 26, 2003 at 17:10 UTC ( #294500=perlquestion: print w/replies, xml ) Need Help??
dws has asked for the wisdom of the Perl Monks concerning the following question:

I'm managing the back-end of a conference website. People register on-line (https:, of course). The registration system collects and saves their info, and then sends an email to a distribution list. This triggers billing, facilities planning, etc., etc.

Here's the problem. Starting about 4-5 weeks ago, people on the distribution list who have earthlink accounts stopped receiving the registration notifications. I can email to the distribution list by hand (using Eudora or Oulook), and they get my emails, but the automatic notifications aren't getting through to the earthlink accounts (or to people who have their domains hosted by earthlink). This is driving me nuts, and I'm wondering if anyone has run into either this problem or something similar.


The notification software is driven by a familar snippet.

$msg = new MIME::Lite( From => "Registration System <register\>", To => $REGISTRATION, Subject => "Conference Registration", Type => 'text/plain', Encoding => '7Bit', Data => $body ); $msg->delete("X-Mailer"); $msg->send_by_sendmail(Sendmail => "/usr/sbin/sendmail") or do { # log the error }
No errors are getting logged (no surprise, since some of the email is getting through).

$REGISTRATION holds a string of the form "notify\". My .procmailrc at contains a standard redistribution rule, of the form

:0c * ^TOnotify !
Again, this all works smoothly, except for earthlink. I'm not getting any bounces. But everyone gets the message when I mail to the distribution list from a standard client. Until I get this resolved, I'm forced to manually forward the notifications that I get back to the notification list.

It suspect that Earthlink has added some anti-spam facility that MIME::Lite (or my use of it) is running afoul of. But the folks with Earthlink accounts, one of whom is very tech savvy, can't find any info on their end.

I'd like some advice on how to adjust what I'm doing, or, failing that, advice on what kind of experiments I should try. Or pointers to more info. Extra credit given to a pointer to a MIME::Lite script that is known to work with Earthlink now. Thanks.

(If you know something, but don't want to go public with some technique that a spammer might use, /msg me.)

Replies are listed 'Best First'.
Re: Email conundrum, might be MIME::Lite vs. Earthlink
by jdtoronto (Prior) on Sep 26, 2003 at 17:28 UTC
    There are some wierd 'anti-spam gets real stuff' problems going around right now. MIME::Lite might actually be identifying itself in the headers of the email as just that! I know some anti-spam software does look at the user-agent details and can decide based on that. This is one reason that many spammers forge the header.

    Some ISP's also attempt to check for list email and block it. If something appears to come from a amiling list they will block, and, oh, 'forget' to tell their client! Their are also some that do message counts - if too many emails are sent to a user form the same source then the source will be blocked - FOR ALL USERS! This happens regularly with AOL. I run a couple of very large lists for user groups. If my sending server srtays on the same IP for about 6 hours then AOL blocks us. Then we start getting the complaints - we get them, not AOL of course. So we rotate IP's within our assigned block (all of which reverse map and all of which can be used for receiving email as well) and the problem goes away.

    Make sure that the server sending the email has a reverse-DNS entry, make sure you have a valid MX record for the domain the mail is coming from also.

    If that doesn't fix it, then, maybe you put a WEB based mail facility on the server, or suggest that your user get a yahoo or hotmail account for their mail from you.

    I think your problem has a lot more to do with external factors than with MIME::Lite.


Re: Email conundrum, might be MIME::Lite vs. Earthlink
by Limbic~Region (Chancellor) on Sep 26, 2003 at 17:47 UTC
    I had a problem not unlike the one you are experiencing with Majordomo once. The way I solved the problem was to send emails from a working client and a non-working client to a local *nix mailbox where I could inspect all the headers. I then telnet'd into port 25 of the server with the lowest weight in the DNS MX record for the domain with the problem. I continued to manually send messages modifying/deleting headers until I found the one that was the culprit. I then modified the code accordingly.

    I hope you are able to figure this out without too much trouble.

    Cheers - L~R

Re: Email conundrum, might be MIME::Lite vs. Earthlink
by waswas-fng (Curate) on Sep 26, 2003 at 20:05 UTC
    One other issue you may see is that if as you listed as the from addr is not listed on an mx record for the host you are sending from some anti spam filters will give the message a high weight as well. Try to make sure the messages are delivered through your normal outbound mail server and that server is listed as an mx for the domain you are claiming to be sending from -- see if that lets it get though.

Re: Email conundrum, might be MIME::Lite vs. Earthlink
by Matts (Deacon) on Sep 27, 2003 at 09:06 UTC
    Add a Message-Id header. That's one of the best spam signs available (lack of Message-Id), so if you don't put one in you fall afoul of people's anti-spam engines.
Re: Email conundrum, might be MIME::Lite vs. Earthlink (solved?)
by dws (Chancellor) on Sep 28, 2003 at 05:33 UTC
    I've made some headway on the problem, and now seem to be getting mail through to Earthlink. While digging around for information, I found an old post (via Google) that suggested that trying to pass a full email address to MIME::Lite could cause envelope problems. Sure enough, as I examined messages, I found that messages sent via
    my $msg = new MIME::Lite( From => "Registration System <register\>", ...
    resulted in an email envelope and header that looked like
    From Registration-System-< Fri Sep 26 18:36:37 2 +003 Return-Path: <"Registration System <register"> ... From: Registration System <>
    which definitely looks bogus. Changing to
    my $msg = new MIME::Lite( From => "register\", ...
    produces a sensible envelope and header, and Earthlink seems to like it.

    Looks like it's time for an archeological dig into MIME::Lite.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://294500]
Approved by HyperZonk
and the monks are mute...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (3)
As of 2017-06-24 21:12 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (562 votes). Check out past polls.