451 Greylisting in effect.
A full-featured email creation and transfer class for PHP
Brought to you by:
coolbru
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?
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.
Logged In: YES
user_id=1711449
Originator: NO
Thanks for the reply corvuscorax. You are correct.