Как отправить электронное письмо из 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. Для этой функции обратитесь в службу поддержки вашего домена или посмотрите информацию в Интернете:

Надеюсь, что это поможет, веселит.