Simple Python script as SMTP server for outgoing e-mails?

Grant Edwards invalid at invalid.invalid
Mon Jul 22 16:10:00 CEST 2013

On 2013-07-22, Gilles <nospam at> wrote:
> On Sun, 21 Jul 2013 21:01:09 +0000 (UTC), Grant Edwards
><invalid at invalid.invalid> wrote:
>>Unless you've got a static IP address, a domain name, and a valid MX
>>record that will match up when they do a reverse DNS lookup, it's
>>pretty unlikely that you're going to have much luck running an SMTP
>>server.  Most other SMTP servers are probably going to ignore or
>>reject your attempts to transfer mail from your own SMTP server.
> Incidently, how do ISP MTAs find whether the remote MTA is legit or
> running on some regular user's computer?
> 1. Query Reverse DNS for IP
> 2. Find domain
> 3. Query DNS for MX
> 4. ?

There are a variety of things they check.  They've got lists of IP
address blocks that they know are residential DSL/cable customers, and
sometimes they'll reject mail from those regardless of what you do.

Some will compare the reverse-DNS lookup with the headers to make sure
you're being honest about things like return-path, some will compare
the IP address with the MX record for the domain they got when they
did the reverse-lookup-DNS, and they've all probably got a variety of
other secret heuristics they use to generate a "SPAM" score.

For many years I ran my own SMTP server and had it configured to
deliver mail directly to recipients.  About 10 years, I had to give up
on that because so many SMTP servers were rejecting/ignoring mail I
sent.  And I did have a static IP with a valid domain and MX record.

But it was a residential DSL IP address, and I suspect that was enough
to get mail rejected by some servers.

Grant Edwards               grant.b.edwards        Yow! Well, O.K.
                                  at               I'll compromise with my
                                principles because of
                                                   EXISTENTIAL DESPAIR!

More information about the Python-list mailing list