Menu

#86 451 Greylisting in effect.

closed
nobody
None
5
2012-09-18
2008-02-20
Anonymous
No

Having read the details on greylisting on wikipedia, I think there is a slight problem with the class.

The mailer fails if the SMTP recipient server rejects with a 451 error. At which point the class accepts this as a permenent failure and doesn't attempt to resend.

The problem with this is that the greylisting requires the message to be resent within 15 minutes to make sure it's not being sent from a fire-and-forget spambox.

The mailer doesn't do this, as such the messages never get approved and accepted by the greylist using SMTP server.

Has anyone noticed this?

Discussion

  • Eric Price

    Eric Price - 2008-02-28

    Logged In: YES
    user_id=510612
    Originator: NO

    The usual process to deliver mail is as follows:

    MUA application (Outlook (sic), phpMailer, sylpheed-claws, thunderbird, etc) connects to an MTA (sendmail, postfix, exchange) using (optionally authenticated or encrypted) SMTP

    MTA sends messages to destination Mailserver using unauthenticated and unencrypted SMTP

    destination Mailserver can reject mail with 451 so original MTA sends again after a while

    destination Mailserver accepts message and makes it available to clients via MDA (via pop3, imap, http, ...)

    the original MTA is your own mailserver, which will not greylist messages coming from you. (since you are authenticated, either implicitly by being in the right subnet / localhost, or explicitlty via pop before smtp or smtp auth. If your own mailserver does greylist you despite authentication its seriously misconfigured and you should fix it or change mail provider)

    greylisting only gets a problem if you try to send mail directly to the receivers SMTP servers (spammers usually do), but in that case other problems caused by various anti spam measures arise too, like mailservers rejecting mail from dynamic IP addresses, sender/ from address not matching reverse resolution of sender IP, and so on.

    generally you should send mail through a fully qualified MTA and not directly to the receivers. Even if this MTA is simply a sendmail instance on localhost (Most linux machines usually have that anyway because its part of the default installation).

    phpMailer cannot solve this task for you, since it usually runs as a web application process with a livetime of only seconds, while a fully qualified MTA that re-sends has to be a persistant daemon.

    also afaik phpMailer does not even attempt to do direct SMTP anyway but always sends but always uses an intermediate MTA.

    So long story short: Don't worry about it, you'l be allright.

     
  • Andy Prevost (CodeworxTech)

    Logged In: YES
    user_id=1711449
    Originator: NO

    Thanks for the reply corvuscorax. You are correct.