2015-07-09 23 views
17

Tôi đã cố gắng gửi thư sử dụng smtp.gmail.com trong django 1,8Django 1.8 gửi thư sử dụng gmail SMTP

settings.py của tôi chứa:

EMAIL_BACKEND = 'django_smtp_ssl.SSLEmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 465
EMAIL_HOST_USER = 'sarath4coding'
EMAIL_HOST_PASSWORD = '*********'
DEFAULT_EMAIL_FROM = 'sa [email protected]'

from django.core import mail 
mail.send_mail('subject','message','[email protected]',['[email protected]']) 

Nhưng đã nhận lỗi này

Traceback (most recent call last): 
    File "<console>", line 1, in <module> 
    File "/home/manager/dj1.8/local/lib/python2.7/site-packages/django/core/mail/__init__.py", line 62, in send_mail 
    return mail.send() 
    File "/home/manager/dj1.8/local/lib/python2.7/site-packages/django/core/mail/message.py", line 303, in send 
    return self.get_connection(fail_silently).send_messages([self]) 
    File "/home/manager/dj1.8/local/lib/python2.7/site-packages/django/core/mail/backends/smtp.py", line 100, in send_messages 
    new_conn_created = self.open() 
    File "/home/manager/dj1.8/local/lib/python2.7/site-packages/django_smtp_ssl.py", line 14, in open 
    self.connection.login(self.username, self.password) 
    File "/usr/lib/python2.7/smtplib.py", line 622, in login 
    raise SMTPAuthenticationError(code, resp) 
SMTPAuthenticationError: (534, '5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbuze\n5.7.14 2FDKQt2Dlo2vqFIvbr6DnBItwWvh9DChPwbeTZO66N91gzmiA437Vqs80cZ9-8u13vxq5a\n5.7.14 bVahzO_BQcZ53yKbJ-YbAlmFE1XIK7MfH97O0wI1lvzpTG_WAHuTIBF0HD1GA2icUoUemt\n5.7.14 ErZn4qb942aAIMG103FnrzLp4txXTbXC-wGLpaz5yvnUN5thahvv3-RiIVW8F1QddZKZlg\n5.7.14 qQKpqWw56zr1AcO2s_oaBEt556fQ> Please log in via your web browser and\n5.7.14 then try again.\n5.7.14 Learn more at\n5.7.14 https://support.google.com/mail/answer/78754 kx14sm6579665pab.0 - gsmtp') 

tôi đã cố gắng tất cả những tài liệu nói và sau đó nhiều giải pháp đề nghị.

như https://accounts.google.com/DisplayUnlockCaptcha, cho phép các ứng dụng an ninh thấp vv

nhưng tôi vẫn nhận được lỗi

Ai có thể nói, làm thế nào để cấu hình đúng Django 1,8 để gửi mail bằng Gmail.

+0

Tôi đã có một cấu hình tương tự nhưng với: 'EMAIL_HOST_USER = 'sarath4coding @ gmail.com'' và' EMAIL_PORT = 587' và 'EMAIL_USE_TLS = TRUE' – Gocht

Trả lời

5

thay thế trong tập tin settings.py của bạn:

EMAIL_BACKEND = 'django_smtp_ssl.SSLEmailBackend' 

bởi

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

26

cho tôi trong settings.py:

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

views.py:

from django.core.mail import EmailMessage 

email = EmailMessage('title', 'body', to=[email]) 
email.send() 

và: https://accounts.google.com/DisplayUnlockCaptcha

1

này làm việc cho tôi:

settings.py

EMAIL_BACKEND = 'django_smtp_ssl.SSLEmailBackend' 
EMAIL_HOST = 'smtp.gmail.com' 
EMAIL_HOST_PASSWORD = 'test' 
EMAIL_HOST_USER = '[email protected]' 
EMAIL_PORT = 587 
EMAIL_USE_TLS = True 

Mở khóa Captcha: https://accounts.google.com/DisplayUnlockCaptcha

views.py

email = EmailMessage(
    'subject_message', 
    'content_message', 
    'sender smtp gmail' +'<[email protected]>', 
    ['[email protected]'], 
    headers = {'Reply-To': '[email protected]' } 
) 
email.send() 
7

Tôi đã thử nghiệm điều này và hoạt động hoàn hảo ở django 1.8:
đầu tiên bạn nên kiểm tra this link, được cung cấp bởi google mà bạn đã làm :)
thông báo rằng đối với một số lý do kỳ lạ mà tôi không biết, bạn phải mã như thế này trong view.py or shell:

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) 

cũng này là xác lập cá nhân trong setting.py file:

EMAIL_USE_TLS = True 
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' 
EMAIL_HOST = 'smtp.gmail.com' 
EMAIL_HOST_PASSWORD = 'xxxx' #my gmail password 
EMAIL_HOST_USER = '[email protected]' #my gmail username 
EMAIL_PORT = 587 
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER 
15

Hãy nhớ:

đến Google của bạn Cài đặt tài khoản, tìm Bảo mật -> Quyền tài khoản -> Truy cập các ứng dụng kém an toàn hơn, bật tùy chọn này.

Về tùy chọn này: https://support.google.com/accounts/answer/6010255

+2

có thể là một lựa chọn an toàn hơn là để thêm mật khẩu dành riêng cho ứng dụng: https://security.google.com/settings/u/1/security/apppasswords – ptim

+0

Liên kết bị hỏng @ptim :( –

+0

tx @ Vini.g.fer! Trang trợ giúp này giải thích quy trình: https://support.google.com/accounts/answer/185833?hl=vi – ptim

Các vấn đề liên quan