2013-11-02 14 views
6

Próbuję skonfigurować sendmailem Django, dzięki czemu mogę wysyłać e-maile resetowania hasła do użytkowników. Do tej pory nie miałem szczęścia, żeby to zadziałało. Wcześniej skonfigurować podstawowe konto Gmail (nie Google App etc) iw moim Django settings.py mam:Problemy z Django wysyłanie wiadomości e-mail przez smtp.gmail.com

EMAIL_HOST  = 'smtp.gmail.com' 
EMAIL_HOST_PASSWORD = 'my_password' 
EMAIL_HOST_USER = '[email protected]' 
EMAIL_PORT  = 587 
MAIL_USE_TLS = True 

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' 
DEFAULT_FROM_EMAIL = '[email protected]' 

Potem próbuję przetestować wykonując:

python manage.py shell 
>>> from django.core.mail import send_mail 
>>> send_mail('test', 'test', '[email protected]', ['[email protected]']) 

i pojawia się komunikat o błędzie

Traceback (most recent call last): 
    File "<console>", line 1, in <module> 
    File "C:\Program Files\Python27\lib\site-packages\django\core\mail\__init__.py 
", line 62, in send_mail 
    connection=connection).send() 
    File "C:\Program Files\Python27\lib\site-packages\django\core\mail\message.py" 
, line 255, in send 
    return self.get_connection(fail_silently).send_messages([self]) 
    File "C:\Program Files\Python27\lib\site-packages\django\core\mail\backends\sm 
tp.py", line 88, in send_messages 
    new_conn_created = self.open() 
    File "C:\Program Files\Python27\lib\site-packages\django\core\mail\backends\sm 
tp.py", line 55, in open 
    self.connection.login(self.username, self.password) 
    File "C:\Program Files\Python27\lib\smtplib.py", line 577, in login 
    raise SMTPException("SMTP AUTH extension not supported by server.") 
SMTPException: SMTP AUTH extension not supported by server. 

Czy ktoś ma pomysł, co się dzieje? Każda wskazówka jest doceniana!

Odpowiedz

4

Upewnij się również wybrać ustawienie EMAIL_BACKEND:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' 
+0

Ta linia była w moim pliku settings.py. wciąż nie działa. –

13

Dałeś literówkę w ustawieniach. TLS należy ustawić za pomocą EMAIL_USE_TLS, a nie MAIL_USE_TLS. Niewykorzystanie protokołu TLS podczas łączenia się z 587 generuje ten błąd.

1

Ten błąd zmienia się na inny błąd podczas usuwania rozszerzenia poczty. Ale w większości przypadków nie jest to prawdziwy problem. Po prawidłowym skonfigurowaniu działa zarówno z rozszerzeniem, jak i bez niego.

EMAIL_HOST_USER = 'my_account' 

Odwiedź https://myaccount.google.com/security i sprawdzić, czy działa po włączeniu Pozwól mniej bezpieczne aplikacje ustawień na dole.

Powiązane problemy