Как отправить электронное письмо из django с помощью сервера smtp google?
Я смотрю https://docs.djangoproject.com/en/dev/topics/email/
Мой вопрос в том, могу ли я использовать smtp.google.com без аутентификации или без необходимости вставлять свою auth-информацию в settings.py или в качестве параметра в функции django.core.mail.send_mail?
На данный момент я ищу лучшие практики для использования smtp.google.com на django, я понимаю, что есть лучшие решения, такие как http://sendgrid.com/
Ответы
Ответ 1
Вы не можете использовать smpt.gmail.com
без предоставления вашей информации auth_information, то есть вашего пароля gmail.
Однако вы можете поместить свою информацию об аутентификации в local_settings.py
и не добавлять этот параметр local_settings в элемент управления версиями, поэтому никто, кроме этого, не увидит этот файл. Включите эту локальную настройку в settings.py
.
settings.py
...
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
...
...
from local_settings import *
local_settings.py
EMAIL_HOST_USER = '[email protected]'
EMAIL_HOST_PASSWORD = 'yourpassword'
Ответ 2
попробуйте включить это в settings.py
:
# Email configuration.
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = '[email protected]'
EMAIL_HOST_PASSWORD = 'yourpassword'
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = '[email protected]'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
Если у вас есть поставщик веб-домена (например, namecheap, godady и т.д.), вы можете связать свой домен (mycompany.com) с Gmail. Для этой функции обратитесь в службу поддержки вашего домена или посмотрите информацию в Интернете:
Надеюсь, что это поможет,
веселит.