Spam Solution - Callback Mail Server

One of the problems with spam is that the receiving mail server does not know that the sender has not simply faked all the addressing information. If the sending mail server could not be faked, then a machine could not send spam anonymously.

By changing the way our receiving mail servers work, we can ensure that the sending mail server is who it claims to be. When a mail server receives a connection from another mail server, it could use the address claimed by the sender and try to establish a connection to that address.

If the second connection works, then the local mail server knows that the sender really can be reached at the claimed address. It can then use the original connection with some reasonable assurance that it is legitimate. If a user at the receiving end later complains about spam, this mail server has already ensured that the real sending mail server can be reached by an SMTP connection, so a complaint can be sent to the right place.

Extending this

You might think this could be extended to have the sender initiate the first connection, then have the receiver initiate a second connection to actually get the mail. This would require careful changes on both sides, as you may otherwise get a pair of mail servers continually calling each other back, and neither allowing the mail transfer to actually occur.

One way that the servers at both ends could be upgraded to assist in this would be to add an "Are you talking to me" command to extend SMTP. If the receiving mail server asks this while still connected to the sender, then the answer better be yes; otherwise somebody else is pretending to be the sender. To accommodate older (unmodified) sending mail servers, the receiver should also be prepared to handle the error response to the second request, possibly by accepting all the mail, but adding a warning header to the message indicating that it was unable to dynamically verify the mail connection.


This page maintained by Rob (at ewan dot com, of course).