Polite usage:
tips for getting along with
mail server administrators
When you use SMTP validation, you make connections to other
people's mail
systems. The administrators of these systems have to deal with the
growing problem of spam and are often sensitive to unusual activity on
their servers.
If a mail server admin feels that you are abusing his system, he
could:
- Block your access to his mail servers
- Submit your IP address to a spam blacklist
- Complain to your ISP, which, depending on the circumstances,
could suspend your account
You shouldn't have to worry about such conflicts, however, if you
take the following steps:
What to do
- Identify yourself
The HexValidEmail Connection class includes two properties that
help you identify yourself to mail servers. Identifying yourself
properly will reduce administrators' suspicion of your activity,
give them a way to contact you, and ensure maximum compatibility
with the wide range of mail server software out there.
The FromDomain
property sets the string that will be passed to mail servers as
part of the HELO command. You should set this property to the
domain the server will see when it does a reverse lookup on your
IP address. Ideally, a forward lookup on this domain should return
the same IP address. We strongly recommend that you set up reverse
mapping for your IP address if you haven't already.
The FromEmail
property specifies the email address that will be passed as the
parameter of the MAIL FROM command. You should set this to a
working address that matches FromDomain and reaches the person
responsible for email address validation. You may want to set up a
special email alias for this purpose.
- Don't use VRFY and EXPN
The VRFY and EXPN commands make mail administrators suspicious,
rarely work anyway, and never affect HexValidEmail's validation
results. HexValidEmail includes an option
for sending these commands simply so you can see the results in
the SmtpSession
property for diagnostic purposes. This option is off by default,
and we recommend you leave it off.
- Limit the rate of checks against any single domain
If you are validating a large set of email addresses and
many come from a single domain, place a delay between each
validation so you will not pepper that domain's mail server with a
rapid series of sessions. Pounding a mail server will probably get
the attention of the administrator and possibly get you blocked.
- Skip SMTP for servers that don't return errors
When validating a large number of addresses, you might try
caching domains at which the mail servers do
not return errors for bad addresses. (You can test for this
behavior by validating an obviously invalid address at each
domain.) By skipping SMTP validation for domains in the cache, you
can save
significant validation time and avoid unnecessary burden on
the domains' mail servers.
- Don't intentionally abuse mail servers
This should go without saying: you are likely to run afoul
of mail server administrators if you intentionally abuse their
systems. Abusive behavior includes:
- Harvesting email addresses by using HexValidEmail to validate
username guesses
- Tying up servers with excessive traffic
- Sending spam (unsolicited commercial/bulk email)
The license agreement
forbids using HexValidEmail for such abuses.
|