Вопрос по email, smtp, python, linux – Создание почтового (принимающего) сервера Python

10

Я пытаюсь создать простой сценарий Python для VPS Linux, который позволит мне получать почту (и затем я могу что-то делать с ним в Python, например, выводить его на стандартный вывод). Ничего более сложного, чем это.

Я не хочу использовать "тяжелый" Решение или серверная программа, я на самом деле просто после простого сценария Python, который я могу запустить, и способен получать почту.

Уилл Питонс Для этой задачи достаточно модуля smtpd? До сих пор я слышал противоречивые мнения. Если нет, что бы вы еще предложили? Возможно, вы сами взломали код?

На этом этапе даже такие проекты, как Лэмсон, кажутся слишком тяжелыми (хотя это может быть неизбежным, если я не могу найти лучшего решения).

Вот пример с smtpd:broadcast.oreilly.com/2008/10/pymotw-smtpd.html Если вы не собираетесь размещать свой почтовый сервер публично и он удовлетворяет вашим потребностям, я не вижу никаких проблем с ним. schlamar

Ваш Ответ

2   ответа
12

Питоны smtpd достаточно.

Вы также можете посмотреть наinbox.py а такжеэтот пример

Благодарю. Это именно та информация, которую я ищу. Когда я прочитал inbox.py и увидел этот «Это самый простой SMTP-сервер, который вы когда-либо видели». Один экземпляр должен обрабатывать более тысячи электронных писем в секунду. & Quot; Я взорвался. 64bit_twitchyliquid
6

Да, SMTPD Модуль поможет полностью. Пример кода здесь:

import smtpd
import asyncore

class CustomSMTPServer(smtpd.SMTPServer):

    def process_message(self, peer, mailfrom, rcpttos, data):
        print 'Receiving message from:', peer
        print 'Message addressed from:', mailfrom
        print 'Message addressed to  :', rcpttos
        print 'Message length        :', len(data)
        return

server = CustomSMTPServer(('127.0.0.1', 1025), None)
asyncore.loop()

Похожие вопросы