Sono curioso di sapere se c'è un modo per inviare e-mail attivate con nome utente, password usando la registrazione django. Per prima cosa ho pensato di modificare il modulo di registrazione, ma ho bisogno di un esempio.invia activate-email con django-registration
risposta
django-registration utilizza il seguente codice, internamente, per gestire l'invio di email:
send_mail(subject, message, settings.DEFAULT_FROM_EMAIL, [self.user.email])
Se si desidera lavorare, si dovrà specificare il DEFAULT_FROM_EMAIL valore nella vostra settings.py.
Inoltre, notare quanto segue:
posta viene inviata utilizzando l'host SMTP e porta specificata nel impostazioni EMAIL_PORT EMAIL_HOST e. Le impostazioni EMAIL_HOST_USER e EMAIL_HOST_PASSWORD, se impostato, vengono utilizzati per l'autenticazione al server SMTP , e le EMAIL_USE_TLS impostazione controlla se una connessione sicura viene utilizzato.
Così, per fare un esempio, ecco quello che ho usato in un file settings.py utilizzare un account Gmail:
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 465
EMAIL_USE_TLS = True
EMAIL_HOST_USER = '[email protected]'
EMAIL_HOST_PASSWORD = 'my_emails_password'
django-registration dovrebbe quindi essere in grado di inviare messaggi di posta elettronica.
E, solo per la cronaca, a tutti gli altri utenti che configurano la posta - ** non fare ** l'errore che ho fatto, di usare le virgolette intorno alla porta, come in 'EMAIL_PORT = '587''. Questo mi è costato alcune ore di debugging ... –
grazie al tuo suggerimento, ho ricontrollato la mia errata configurazione email - solo per scoprire che 4 righe dopo averlo configurato con un account Gmail, l'avevo impostato per qualche account localhost senza senso ! Problema? Risolto. – bharal
Penso che dobbiamo usare 'EMAIL_PORT = 587' quando' EMAIL_USE_TLS = True' –
EMAIL_PORT = 465 funzionava qualche anno fa. Ora devi usare la porta 587 con gmail. Motivo: Django non supporta SMTP con SSL dall'inizio. È supportato solo il comando STARTTLS DOPO la configurazione della connessione di testo semplice. Gmail, tuttavia, non supporta più questa opzione sulla porta 465.
Spero che questo aiuti qualcuno. Dopo la risoluzione dei problemi per una mezz'ora, mi sono reso conto che dovevo dichiarare esplicitamente questo pure durante l'utilizzo di django-registrazione -
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
django-register-activate implementato un funzionalità simile alla registrazione di django. Fondamentalmente fornisce il codice per la registrazione degli utenti, la verifica e l'attivazione della posta elettronica, il login dell'utente e il logout dell'utente.
Se sono necessari esempi per implementare il proprio codice, è possibile controllare views.py e forms.py in register_activate per ottenere alcuni suggerimenti.
Spero che la risposta sia d'aiuto. Fammi sapere se hai altre domande.
- 1. Invia messaggi con whatsapi.net?
- 2. Invia richiesta con Wget?
- 3. Invia mail con allegato
- 4. invia json object con httparty
- 5. Batch Invia email con SwiftMailer
- 6. Invia parametro con accentuazione C#
- 7. python invia POST con header
- 8. Modulo Invia con Div onClick
- 9. Invia modulo con jquery ajax
- 10. Invia richiesta POST con netcat
- 11. iPhone invia POST con NSURLConnection
- 12. Invia email asincrona con phpmailer
- 13. Invia helper pulsante con I18n.t
- 14. Invia email HTML via C# con SmtpClient
- 15. Invia email di massa con ASP.Net
- 16. Invia variabili POST personalizzate con ciascun file
- 17. Invia POST con WebClient.DownloadString in C#
- 18. Invia stringa nella richiesta PUT con libcurl
- 19. Invia dati modulo con jquery ajax json
- 20. Invia email dal programma Ruby con TLS
- 21. Invia matrice param con jQuery ajax/carico
- 22. Invia array con richiesta ajax su php
- 23. Invia testo personalizzato con pulsante Facebook come
- 24. Invia array con script Ajax in PHP
- 25. Invia richiesta con body_stream e parametri
- 26. Invia SMS con Twilio su iOS
- 27. Invia e-mail con allegato in Ruby
- 28. lua invia posta con account gmail
- 29. Invia richiesta XHR dall'estensione Chrome con cookie
- 30. Invia due moduli con un pulsante
NON inviare password utente in posta elettronica. –