Tôi tò mò nếu có cách gửi email kích hoạt bằng tên người dùng, mật khẩu bằng cách sử dụng đăng ký django. Đầu tiên tôi nghĩ về việc sửa đổi mẫu đăng ký nhưng tôi cần một số ví dụ.gửi email kích hoạt với đăng ký django
Trả lời
django-registration sử dụng đoạn mã sau, trong nội bộ, xử lý gửi email:
send_mail(subject, message, settings.DEFAULT_FROM_EMAIL, [self.user.email])
Nếu bạn muốn làm việc, bạn sẽ phải xác định các giá trị trong DEFAULT_FROM_EMAIL settings.py của bạn.
Ngoài ra, lưu ý những điều sau:
Mail được gửi bằng cách sử dụng máy chủ SMTP và cảng quy định trong EMAIL_HOST và thiết lập EMAIL_PORT. Cài đặt EMAIL_HOST_USER và EMAIL_HOST_PASSWORD, nếu được đặt, được sử dụng để xác thực với máy chủ SMTP và cài đặt EMAIL_USE_TLS kiểm soát xem kết nối an toàn có được sử dụng hay không.
Vì vậy, để đưa ra một ví dụ, đây là những gì tôi đã sử dụng trong một file settings.py sử dụng tài khoản 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 sau đó sẽ có thể gửi email.
Và, chỉ để ghi lại, cho bất kỳ ai thiết lập email - ** không ** phạm sai lầm tôi đã làm, sử dụng dấu ngoặc kép quanh cổng, như trong 'EMAIL_PORT = '587''. Điều đó khiến tôi mất vài giờ gỡ lỗi ... –
nhờ mẹo của bạn, tôi đã kiểm tra lại cấu hình email không đúng của mình - chỉ để khám phá 4 dòng sau khi thiết lập tài khoản gmail, tôi đã thiết lập một số tài khoản localhost vô nghĩa ! Vấn đề? Giải quyết. – bharal
Tôi nghĩ chúng ta phải sử dụng 'EMAIL_PORT = 587' khi' EMAIL_USE_TLS = True' –
EMAIL_PORT = 465 đã hoạt động cách đây vài năm. Bây giờ bạn cần sử dụng cổng 587 với gmail. Lý do: Django không hỗ trợ SMTP với SSL ngay từ đầu. Chỉ lệnh STARTTLS được hỗ trợ SAU KHI kết nối văn bản thuần được thiết lập. Gmail, tuy nhiên, không còn hỗ trợ tùy chọn này trên cổng 465.
Hy vọng điều này sẽ giúp ai đó. Sau khi xử lý sự cố trong nửa giờ, tôi nhận ra rằng tôi đã phải tuyên bố một cách rõ ràng này là tốt khi sử dụng django-đăng -
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
django-register-activate thực hiện một chức năng tương tự như đăng ký django. Về cơ bản nó cung cấp mã cho người dùng đăng ký, xác minh email và kích hoạt, đăng nhập người dùng và đăng xuất người dùng.
Nếu bạn cần ví dụ để triển khai mã của riêng mình, bạn có thể kiểm tra views.py và forms.py trong register_activate để biết một số gợi ý.
Hy vọng câu trả lời sẽ hữu ích. Hãy cho tôi biết nếu bạn có thêm câu hỏi.
- 1. django + gửi email bằng html với đăng ký django
- 2. Gửi email kích hoạt khi người dùng mới đăng ký
- 3. Node.js - Gửi email về đăng ký
- 4. Làm cách nào để tắt kích hoạt email trong ứng dụng đăng ký django?
- 5. fosUserBundle gửi đăng ký email trống
- 6. Django - xác thực, đăng ký có xác nhận email
- 7. Gửi email kích hoạt tới người dùng
- 8. Gửi email với mẫu sử dụng kích hoạt
- 9. Django-allauth: gửi email chào mừng khi đăng ký (không cần xác minh)
- 10. Đăng ký Django, mẫu
- 11. Không thể gửi email - Django
- 12. Gửi email HTML bằng django
- 13. Gửi email SMTP qua Django trong môi trường sản xuất
- 14. Điều nào linh hoạt hơn? django-đăng ký hoặc django-userena
- 15. django để gửi VÀ nhận email?
- 16. django-allauth email HTML không gửi
- 17. Django, đăng ký người dùng với tên và họ?
- 18. Làm cách nào để kiểm tra việc gửi email có đăng ký Django trên máy tính cục bộ (Mac 10.7)?
- 19. Gửi email trên ssh đăng nhập
- 20. Email Django
- 21. Làm thế nào tôi có thể đăng nhập tất cả email gửi đi ở Django?
- 22. Đăng ký với Facebook đôi khi không cung cấp email
- 23. đăng ký django - làm cách nào để tôi thay đổi example.com trong email?
- 24. Django - gửi email về thay đổi mô hình
- 25. Cách gửi email đã ký từ java?
- 26. BroadcastReceiver onReceive được kích hoạt khi đăng ký
- 27. Tại sao kích hoạt email lại hữu ích?
- 28. Trình kích hoạt trình kích hoạt trong Jenkins theo EMAIL
- 29. đăng ký django "nhớ tôi"
- 30. Làm thế nào để thiết lập đăng ký django mà một tài khoản cần phải được kích hoạt bằng tay?
KHÔNG gửi mật khẩu người dùng trong email. –