Skip to main content

gsmtpd

https://travis-ci.org/34nm/gsmtpd.svg?branch=master

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.

https://raw.githubusercontent.com/34nm/gsmtpd/master/helo_chart.png
https://raw.githubusercontent.com/34nm/gsmtpd/master/mail_chart.png

Metadata

Release files for gsmtpd 0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gsmtpd 0.2
File Size Uploaded
gsmtpd-0.2.tar.gz 9.6 kB Details

Release files / gsmtpd-0.2.tar.gz

Download URL gsmtpd-0.2.tar.gz
Size 9.6 kB
Tags Source
SHA-256 checksum
How to use checksums
261d4dabd018d89622373f941db7216731019d736f6f6e296e0e4d71a2191eca
BLAKE2b-256 checksum
How to use checksums
2737dd7cae474a8334d1d43903696d9a5777b85e891e14a8873d060356331133
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.2 This release

1 release file

0.1.9.1

1 release file

0.1.9

1 release file

0.1.8

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page