Python SMTP сервер для разработки

Часто в процессе разработки может понадобится проверить отправку почты. Работая с Python, для этого не понадобится поднимать какие-то внешние почтовые сервера или дергать админов. Стандартная установка Питона позволяет запустить SMTP сервер, который будет успешно показывать вам отправляемую вашим приложением почту.

Для запуска тестового SMTP сервера запустите в командной строке команду:

python -m smtpd -n -c DebuggingServer localhost:1025

Эта команда запустит в консоли SMTP сервер, который принимает сообщения на порту 1025 и сразу печатает их, не передавая куда-то дальше.

Отправка почты через нестандартный SMTP порт

Для отправки сообщений через нестандартный порт, нужно внести изменения в приложение. По-умолчанию используется 25 номер порта для SMTP сервера, однако по разным причинам номер порта может быть изменен.

server = smtplib.SMTP(SERVER, 1025)
server.sendmail(FROM, TO, message)
server.quit()

Данный формат позволит отправить сообщение на сервер, который слушает порт 1025.

Если вы используете Django, добавьте параметр EMAIL_PORT в settings.py.

Также вы можете запустить тестовый SMTP сервер на 25 порту командой::

sudo python -m smtpd -n -c DebuggingServer localhost:25

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *