4 октября 2010 г.

Django + GMail

Есть два пути для отправки email-сообщений из Django – через установленный на сервере Sendmail или Pistfix или с любого адреса через SMTP.

В случае, когда сервер не очень мощный и постоянное наличие в пямяти лишнего демона нежелательно, можно воспользоваться связкой с Gmail. Для этого нужно внести следующие изменения в файл settings.py вашего проекта:

    EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'youremail@gmail.com'
EMAIL_HOST_PASSWORD = 'yourpassword'
EMAIL_PORT = 587


Собственно, это все. Теперь при вызове функции EmailMessage ваши письма будут от отправляться через интерфейс Gmail.



Можно проверить это дело через консоль, запустив ее командой:




python manage.py shell




и введя команды:



>>> from django.core.mail import EmailMessage
>>> email = EmailMessage('Hello', 'World', to=['youremail@somewhere.com'])
>>> email.send()


Какие преимущества мы получим, используя такой подход? Вот такие:




  • - наши письма не попадут в спам (потому что мы используем реальные данные);


  • - мы не нагружаем  сервер запуском дополнительных программ.



Недостаток тоже есть. Время соединения с Gmail и авторизации для отправки письма значительно превышает время отправки письма через локальный почтовик.

Комментариев нет:

Отправить комментарий

Мне интересно ваше мнение.