Website development
Python
May 2012 3

Inbox.py: самый простой SMTP-сервер

Кеннет Райтц из компании Heroku продолжает создавать элегантные библиотеки с упрощёнными API. Предыдущей разработкой была библиотека Requests для HTTP-запросов. Теперь он выпустил простой SMTP-сервер Inbox.py, который элементарно прикрутить к веб-приложению для осуществления прямых почтовых рассылок и приёма/обработки почты, без мучений с макросами sendmail.

from inbox import Inbox

inbox = Inbox()

@inbox.collate
def handle(to, sender, body):
    ...

# Bind directly.
inbox.serve(address='0.0.0.0', port=4467)


if __name__ == '__main__':
    inbox.dispatch()

$ dasinbox.py 0.0.0.0 4467
[2012-04-28 07:31] INFO: inbox: Starting SMTP server at 0.0.0.0:4467

Сервер работает в асинхронном режиме. Кеннет говорит, что один инстанс обрабатывает 1000+ писем в секунду, благодаря использованию библиотеки Gevent.

Inbox.py — простая маленькая библиотека, если же нужен полноценный функциональный SMTP-сервер на Python, то лучше использовать Lamson.
+40
16.4k 213
Support the author
Comments 10
Top of the day