Smarty позволяет отправлять письма через SMTP при тех или иных событиях, таких как: отправка уведомлений абонентам (о подключении пакетов, напоминания о платежах и др.), аларминг при авариях (триггеры в модуле мониторинга).
Для отправки письма необходимо в файле конфигурации Smarty указать данные для подключения к SMTP-серверу:
DEFAULT_FROM_EMAIL
— адрес в поле «From» в отправляемых служебных письмах по умолчанию. Тип данных: string.SERVER_EMAIL
— необходимо указать то же значение, что и вDEFAULT_FROM_EMAIL
.EMAIL_HOST
— адрес SMTP-сервера. Тип данных: string.EMAIL_PORT
— порт SMTP-сервера. Тип данных: int.EMAIL_HOST_USER
— имя пользователя. Тип данных: string.EMAIL_HOST_PASSWORD
— пароль. Тип данных: string.EMAIL_USE_TLS
— флаг, в зависимости от которого будет включен протокол шифрования TLS или нет. Тип данных: bool. По умолчанию True.
Пример настройки:
DEFAULT_FROM_EMAIL = 'robot@example.com'
SERVER_EMAIL = 'robot@example.com'
EMAIL_HOST = 'smtp.example.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'robot@example.com'
EMAIL_HOST_PASSWORD = 'z272LOCXmZdQ01yK'
EMAIL_USE_TLS = True
Проверка работоспособности
Для отладки отправки писем можно воспользоваться следующим скриптом. Запустите shell (нужны привилегии root):
smarty_manage shell --settings=settings.smarty
Вместо settings.smarty укажите ваш файл конфигурации, если он отличается.
В открывшемся шелле выполните скрипт:
from django.core.mail import send_mail send_mail("test", "message", None, ["mail@example.com"])
Последняя команда отправит письмо на указанный адрес. В случае успеха будет возвращен код 1.