SMTPRoutes это легкий сервер SMTP построен на вершине Secure-SMTPD.
Это то, что вы получите, если Синатра и SMTP был ребенок.
Маршруты
Маршруты указаны с помощью регулярного выражения, представленной в маршруту kwarg.
от smtproutes импортировать маршрут
класс ExampleRoute (маршрут):
& NBSP; Def my_route (я, маршрут = r'myroute @ *.):
& NBSP; печать self.mailfrom.email
При вызове маршрут будет иметь доступ к следующим переменным экземпляра:
- Self.message разобранное сообщение электронной почты.
- Self.mailfrom объект контакт с указанием, кто сообщение было получено от.
- Self.tos массив объектов контактов, извлеченных из поля.
- Self.ccs массив объектов контактов, извлеченных из области ЦК.
- Self.bccs массив объектов контактов, извлеченных из области ВСС.
Любые названные группы, указанные в регулярном выражении маршруту будет экранном переменных экземпляра.
класс ExampleRoute (маршрут):
& NBSP; Def open_route (я, маршрут = г '(Popen) @ (П. *)?'):
& NBSP; "послал ей в%% S сообщение: \ N \ N% S" для печати% (
& NBSP; self.prefix,
& NBSP; self.suffix,
& NBSP; self.message
& NBSP;)
Проверка подлинности отправителя
Электронная почта является уязвимым для атак подмены. SMTPRoutes позволяет обеспечить объект аутентификации для защиты от них.
Класс аутентификации может быть предоставлена в sender_auth kwarg маршрута.
Def spf_route (я, маршрут = г '(Pspf) @ (П. *)?', sender_auth = SPFAuth):
& NBSP; "послал ей в%% S сообщение: \ N \ N% S" для печати% (
& NBSP; self.prefix,
& NBSP; self.suffix,
& NBSP; self.message
& NBSP;)
В настоящее время поддерживаются следующие методы аутентификации отправителя:
- DKIMAuth аутентификацию с использованием DKIM подпись.
- SPFAuth аутентификацию с использованием запись SPF.
- GmailSPFAuth подлинность записей SPF против Google, независимо от отправителя (полезно для Служб Google).
Вы можете предоставить несколько подходов аутентификации в sender_auth kwarg, если пройти маршрут будет называться:
Def google_apps_spf_route (самостоятельная, маршрут = г '(Pspf_google) @ (П. *)?', sender_auth = [SPFAuth, GmailSPFAuth]):
& NBSP; "послал ей в%% S сообщение: \ N \ N% S" для печати% (
& NBSP; self.prefix,
& NBSP; self.suffix,
& NBSP; self.message
& NBSP;)
Запуск сервера
Сервер представляет собой тонкий абстракция на вершине Secure-SMTPD (https://github.com/bcoe/secure-smtpd) отсюда,
- SSL поддерживается.
- Обычная проверка подлинности SMTP не поддерживается.
Создайте экземпляр сервера, используя те же параметры, указанные в проекте безопасной-smtpd.
от smtproutes импорта сервер
Сервер = Сервер (('0.0.0.0', 25), None)
После того, как сервер будет создан, вы можете зарегистрироваться маршруты с ним и начать это работает:
от example_route ExampleRoute импорта
server.add_route (ExampleRoute)
server.start ()
. Теперь сервер будет слушать на порту 25 для входящих SMTP сообщений
Требования
- Python
Комментарии не найдены