Create a new SMTPServer object, which binds to local address
localaddr. It will treat remoteaddr as an upstream SMTP
relayer. It inherits from asyncore.dispatcher, and so will
insert itself into asyncore's event loop on instantiation.
peer, mailfrom, rcpttos, data)
Raise NotImplementedError exception. Override this in
subclasses to do something useful with this message. Whatever was
passed in the constructor as remoteaddr will be available as the
_remoteaddr attribute. peer is the remote host's address,
mailfrom is the envelope originator, rcpttos are the
envelope recipients and data is a string containing the contents
of the e-mail (which should be in RFC 2822 format).