Кеннет Райтц из компании 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.
Автор: alizar