2013-10-09 2 views
19

J'essaye d'envoyer des emails depuis Django en installant gmail smtp. Mais à chaque fois il me retourne 0 statut. J'ai cherché différentes réponses pertinentes dans stackoverflow et je suis mise en place du serveur smtp de la même manière mais il n'envoie un courriel .. Ci-dessous est mon fichier de configurationConfiguration SMTP Python Django Gmail

EMAIL_USE_TLS = True 
EMAIL_HOST = 'smtp.gmail.com' 
EMAIL_PORT = 587 
EMAIL_HOST_USER = 'my gmail account' 
EMAIL_HOST_PASSWORD = 'my gmail account password' 
DEFAULT_FROM_EMAIL = 'my gmail account' 
DEFAULT_TO_EMAIL = 'to email' 

Voici mon code

from django.conf import settings 
from django.core.mail import send_mail 
print "Sending Email" 
mail_title = 'Test Email' 
message = 'This is a test email.' 
email = settings.DEFAULT_FROM_EMAIL 
recipients = [settings.DEFAULT_TO_EMAIL] 
print send_mail(mail_title, message, email, recipients, settings.EMAIL_HOST_USER, settings.EMAIL_HOST_PASSWORD) 
print "Email Sent" 

Mais à chaque fois qu'il imprime l'état 0 ce qui signifie que le courrier électronique n'est pas envoyé. A propos de l'environnement, je cours ce code sur l'instance Amazon EC2 qui a Ubuntu comme un OS et Apache comme serveur ..

Ai-je besoin de faire des configurations supplémentaires pour l'envoi de courrier électronique via smtp gmail ?? Appréciez beaucoup votre aide Merci d'avance

+0

fait ce travail de code sur votre propre poste de travail ou un autre endroit que votre EC2? cela permettra d'isoler l'origine du problème –

Répondre

24

Votre configuration gmail.smtp est correcte. Il semble que vous n'appelez pas la fonction send_email correctement, et c'est pourquoi il n'envoie pas. Dans le shell python, essayez ce qui suit:

import django 
from django.conf import settings 
from django.core.mail import send_mail 

send_mail('Subject here', 'Here is the message.', settings.EMAIL_HOST_USER, 
    ['[email protected]'], fail_silently=False)