2013-04-13 22 views
10

Patrzę na https://docs.djangoproject.com/en/dev/topics/email/Jak mogę wysłać wiadomość e-mail z django za pomocą serwera Google smtp?

Moje pytanie brzmi, czy istnieje sposób mogę korzystać smtp.google.com bez uwierzytelniania lub bez konieczności umieścić moje dane uwierzytelniania w settings.py lub jako parametr w django.core Funkcja .mail.send_mail?

W tym momencie szukam najlepszych praktyk za korzystanie smtp.google.com na Django, rozumiem, że są lepsze rozwiązania, takie jak http://sendgrid.com/

Odpowiedz

10

Nie można użyć numeru smpt.gmail.com bez podawania informacji autoryzacyjnych, tj. Hasła do Gmaila.

Możesz jednak umieścić swoje dane uwierzytelniające w local_settings.py i nie dodawaj tego ustawienia local_settings do kontroli wersji, aby nikt oprócz Ciebie nie zobaczył tego pliku. Uwzględnij ustawienie local_settings w swoim 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' 
8

próbie łącznie z tym w 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' 

Jeśli masz dostawcę domeny internetowej (np. Namecheap, godady, itp.), Możesz powiązać swoją domenę (mojafirma.com) z Gmailem. Dla tej funkcji poprosić o pomoc w dostawcę domeny lub szukać informacji w Internecie:

Nadzieja pomaga, okrzyki.

Powiązane problemy