Блог FMailer

Пишем о том, как доставлять письма.

Настройка почты в Django: тестирование и интеграция с fmailer.ru

Отправка электронной почты — важная часть многих веб-приложений. В Django эта задача решается просто благодаря встроенному модулю django.core.mail. В этой статье разберём, как настроить отправку писем, протестировать её в разработке и воспользоваться сервисом fmailer.ru для работы с SMTP.

Базовая настройка почты в Django

Django поддерживает несколько способов отправки почты через SMTP, консоль или файл. Для работы с реальным сервером используется SMTPBackend. В settings.py укажите:

```
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

EMAIL_HOST = 'smtp.fmailer.ru' # Адрес сервера fmailer.ru

EMAIL_PORT = 587 # Порт с StartTLS

EMAIL_USE_TLS = True # Шифрование StartTLS

EMAIL_HOST_USER = 'ваш_логин'

EMAIL_HOST_PASSWORD = 'ваш_пароль'
```

Если нужен порт без шифрования (25 или 8025), установите EMAIL_USE_TLS = False.

Тестовая отправка писем в разработке

Перед деплоем важно убедиться, что письма отправляются корректно. Django предлагает несколько тестовых бэкендов:

ConsoleBackend – письма выводятся в консоль:

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

FileBackend – письма сохраняются в файл:

```
EMAIL_BACKEND = 'django.core.mail.backends.filebased.EmailBackend'

EMAIL_FILE_PATH = '/tmp/django-emails'
```

DummyBackend – заглушка, ничего не отправляет (полезно для тестов).

Интеграция с fmailer.ru

Сервис fmailer.ru предоставляет SMTP-сервер для быстрой и надежной отправки писем. Его преимущества:

Поддержка StartTLS (порт 587) и незашифрованных соединений (25, 8025).

Простая настройка в Django через EMAIL_HOST = 'smtp.fmailer.ru'.

Надёжная доставка писем без лишних сложностей.

Пример отправки письма:

```
from django.core.mail import send_mail

send_mail(
'Тема письма',
'Текст письма',
'от@example.com',
['получатель@example.com'],
fail_silently=False,
)
```

Заключение

Настроить отправку почты в Django просто, особенно с сервисом fmailer.ru. Используйте тестовые бэкенды в разработке, а в продакшене — SMTP с шифрованием. Убедитесь, что ваши письма доходят до пользователей!