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.
    Метки:
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 10
    • –3
      Он умеет к gmail подключаться и всю почту отправлять через аккаунт gmail?
      • +2
        у gmail свой smtp
        • –3
          Ну так если хочешь использовать gmail и не навешивать smtp на все приложения, то взял навесил на маленький скрипт, а он уж будет рассылать через gmail.
          Сейчас для этого приходится использовать монстра exim4.
    • +4
      Предыдущими насколько я знаю были github.com/kennethreitz/envoy и git-legit.org а requests намного раньше. Вот тут более полный список его легких оберток для много чего kennethreitz.com/pages/open-projects.html
      • 0
        Жаль он reflog забросил…
        • +2
          Ого. Этот Кеннет Райтц просто Человечище!
          • 0
            Точно! И вообще команда на heroku отличная подобралась.
          • 0
            Элегантно. Как всегда у Кеннета. И да, gunicorn c gevent будет отрабатывать по 1000 запросов на каждый worker. Gevent вне конкуренции в этой нише.

            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.