2013-04-13 2 views
10

Ich betrachte https://docs.djangoproject.com/en/dev/topics/email/Wie kann ich eine E-Mail von django mit dem Google SMTP-Server senden?

Meine Frage ist, gibt es, wie ich smtp.google.com ohne Authentifizierung verwenden kann, oder ohne dass meine Auth Informationen in settings.py oder als Parameter in der django.core setzen .mail.send_mail Funktion?

An diesem Punkt bin ich für die Verwendung von smtp.google.com auf django für Best Practices suchen, verstehe ich es bessere Lösungen wie http://sendgrid.com/

Antwort

10

Sie können smpt.gmail.com nicht verwenden, ohne Ihre auth_information, d. H. Ihr Google Mail-Passwort, anzugeben.

Allerdings können Sie Ihre Authentifizierungsinformationen in eine local_settings.py setzen und fügen Sie nicht diese local_settings in Versionskontrolle so niemand außer Ihnen würde diese Datei sehen. Fügen Sie diese local_settings in Ihre ein.

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

Versuch mit dieser in settings.py sind:

# 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' 

Wenn Sie einen Webdomänenanbieter haben (wie namecheap, godady usw.), können Sie Ihre Domäne (mycompany.com) mit Google Mail verknüpfen. Für diese Funktion Hilfe in Ihrem Domain-Anbieter stellen oder Informationen in Internet suchen:

Hoffe, dass es hilft, prost.

Verwandte Themen