A smtpd server impletement based on Gevent
Project description
SMTP servers impletement base on Gevent
Install
pip install gsmtpd
Usage
Basically gsmtpd is ported from Python standard lib smtpd, you can it check from Doc
however there is only one difference, you should add monkey patch of gevent
from gevent import monkey
monkey.patch_all()
Example
from gevent import monkey
monkey.patch_all()
from gsmtpd.server import SMTPServer
class DebuggingServer(SMTPServer):
# Do something with the gathered message
def process_message(self, peer, mailfrom, rcpttos, data):
inheaders = 1
lines = data.split('\n')
print '---------- MESSAGE FOLLOWS ----------'
for line in lines:
# headers first
if inheaders and not line:
print 'X-Peer:', peer[0]
inheaders = 0
print line
print '------------ END MESSAGE ------------'
if __name__ == "__main__":
server = DebuggingServer()
server.serve_forever()
Performance
The charts below shows gsmtpd vs asyncore based smtpd in Python standrary lib.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
gsmtpd-0.2.tar.gz
(9.6 kB
view hashes)