Python Django 1.8使用gmail SMTP发送邮件

Python Django 1.8使用gmail SMTP发送邮件,python,django,email,gmail,Python,Django,Email,Gmail,我试图用django 1.8中的smtp.gmail.com发送邮件 Mysettings.py包含: EMAIL\u BACKEND='django\u smtp\u ssl.sslemailbend' 电子邮件\u HOST='smtp.gmail.com' 电子邮件端口=465 电子邮件\u主机\u用户='Sarath4编码' 电子邮件\u主机\u密码='***********' 默认的电子邮件地址:sarath4coding@gmail.com' 但我犯了这个错误: Traceback

我试图用django 1.8中的
smtp.gmail.com
发送邮件

My
settings.py
包含:

EMAIL\u BACKEND='django\u smtp\u ssl.sslemailbend'
电子邮件\u HOST='smtp.gmail.com'
电子邮件端口=465
电子邮件\u主机\u用户='Sarath4编码'
电子邮件\u主机\u密码='***********'
默认的电子邮件地址:sarath4coding@gmail.com'
但我犯了这个错误:

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')
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/home/manager/dj1.8/local/lib/python2.7/site packages/django/core/mail/_init__.py”,第62行,在发送邮件中
返回邮件。发送()
文件“/home/manager/dj1.8/local/lib/python2.7/site packages/django/core/mail/message.py”,第303行,在send中
返回self.get\u连接(以静默方式失败)。发送消息([self])
文件“/home/manager/dj1.8/local/lib/python2.7/site packages/django/core/mail/backends/smtp.py”,第100行,在send_messages中
新建连接创建=self.open()
打开文件“/home/manager/dj1.8/local/lib/python2.7/site packages/django_smtp_ssl.py”,第14行
self.connection.login(self.username、self.password)
文件“/usr/lib/python2.7/smtplib.py”,第622行,登录
引发SMTPAuthenticationError(代码,resp)
SMTPAuthenticationError:(534,'5.7.14请通过web浏览器登录,\n5.7.14然后重试。\n5.7.14在\n5.7.14了解更多信息https://support.google.com/mail/answer/78754 kx14sm6579665pab.0-gsmtp')
我尝试了文件中所说的一切,并遵循了许多建议的解决方案

例如,启用低安全性应用程序等

但我还是有错误


谁能告诉我如何正确配置Django 1.8以使用Gmail发送邮件。

在您的settings.py文件中替换:

EMAIL_BACKEND = 'django_smtp_ssl.SSLEmailBackend'


EMAIL\u BACKEND='django.core.mail.backends.smtp.EmailBackend'

在settings.py文件中替换:

EMAIL_BACKEND = 'django_smtp_ssl.SSLEmailBackend'


EMAIL\u BACKEND='django.core.mail.backends.smtp.EmailBackend'

设置.py中为我设置:

EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'test@gmail.com'
EMAIL_HOST_PASSWORD = 'test'
EMAIL_PORT = 587
from django.core.mail import EmailMessage

email = EmailMessage('title', 'body', to=[email])
email.send()
    
视图。py

EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'test@gmail.com'
EMAIL_HOST_PASSWORD = 'test'
EMAIL_PORT = 587
from django.core.mail import EmailMessage

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


同时还要确保打开对不太安全的应用程序的权限。

设置中为我设置。py

EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'test@gmail.com'
EMAIL_HOST_PASSWORD = 'test'
EMAIL_PORT = 587
from django.core.mail import EmailMessage

email = EmailMessage('title', 'body', to=[email])
email.send()
    
视图。py

EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'test@gmail.com'
EMAIL_HOST_PASSWORD = 'test'
EMAIL_PORT = 587
from django.core.mail import EmailMessage

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

另外,还要确保打开对不太安全的应用程序的权限。

这对我很有用:

设置.py

EMAIL_BACKEND = 'django_smtp_ssl.SSLEmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_PASSWORD = 'test'
EMAIL_HOST_USER = 'test@gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_USE_TLS = True
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_PASSWORD = 'sender' #sender mail password
EMAIL_HOST_USER = 'sender@mail.com' #sender mail username
EMAIL_PORT = 587
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
解锁验证码:

views.py

email = EmailMessage(
    'subject_message',
    'content_message',
    'sender smtp gmail' +'<sender@gmail.com>',
    ['receiver@gmail.com'],
    headers = {'Reply-To': 'contact_email@gmail.com' }
)
email.send()
email=EmailMessage(
“主题信息”,
“内容信息”,
“发件人smtp gmail”+“”,
['receiver@gmail.com'],
headers={'Reply-To':'联系人_email@gmail.com' }
)
email.send()
这对我很有用:

设置.py

EMAIL_BACKEND = 'django_smtp_ssl.SSLEmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_PASSWORD = 'test'
EMAIL_HOST_USER = 'test@gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_USE_TLS = True
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_PASSWORD = 'sender' #sender mail password
EMAIL_HOST_USER = 'sender@mail.com' #sender mail username
EMAIL_PORT = 587
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
解锁验证码:

views.py

email = EmailMessage(
    'subject_message',
    'content_message',
    'sender smtp gmail' +'<sender@gmail.com>',
    ['receiver@gmail.com'],
    headers = {'Reply-To': 'contact_email@gmail.com' }
)
email.send()
email=EmailMessage(
“主题信息”,
“内容信息”,
“发件人smtp gmail”+“”,
['receiver@gmail.com'],
headers={'Reply-To':'联系人_email@gmail.com' }
)
email.send()

我在django 1.8中对此进行了测试,效果非常好:

首先,你应该检查一下,谷歌提供了你做过的:)
请注意,由于一些我不知道的奇怪原因,您必须在
view.py或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,
         ['to@example.com'], fail_silently=False)
这也是我在
setting.py
文件中的设置:

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 = 'xxxx@gmail.com' #my gmail username
EMAIL_PORT = 587
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

我在django 1.8中测试了这一点,并且工作得非常完美:

首先,你应该检查一下,谷歌提供了你做过的:)
请注意,由于一些我不知道的奇怪原因,您必须在
view.py或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,
         ['to@example.com'], fail_silently=False)
这也是我在
setting.py
文件中的设置:

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 = 'xxxx@gmail.com' #my gmail username
EMAIL_PORT = 587
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
记住:

转到您的Google帐户设置,查找安全性->帐户权限->访问不太安全的应用程序,启用此选项

关于此选项:

请记住:

转到您的Google帐户设置,查找安全性->帐户权限->访问不太安全的应用程序,启用此选项

关于此选项:

在settings.py中 改变这个

EMAIL_HOST='imap.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'yadavabhishek260@gmail.com'
EMAIL_HOST_PASSWORD ='**********'
EMAIL_USE_SSL=False
EMAIL_USE_TLS= True
在settings.py中 改变这个

EMAIL_HOST='imap.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'yadavabhishek260@gmail.com'
EMAIL_HOST_PASSWORD ='**********'
EMAIL_USE_SSL=False
EMAIL_USE_TLS= True

我在django 1.11中使用了这个

在settings.py中

EMAIL_BACKEND = 'django_smtp_ssl.SSLEmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_PASSWORD = 'test'
EMAIL_HOST_USER = 'test@gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_USE_TLS = True
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_PASSWORD = 'sender' #sender mail password
EMAIL_HOST_USER = 'sender@mail.com' #sender mail username
EMAIL_PORT = 587
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
In view.py

send_mail('mail subject', 'body content',settings.EMAIL_HOST_USER,
                      ['receiver@mail.com'], fail_silently=False)

和goto以启用不太安全的应用程序访问

我在django 1.11中使用了它

在settings.py中

EMAIL_BACKEND = 'django_smtp_ssl.SSLEmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_PASSWORD = 'test'
EMAIL_HOST_USER = 'test@gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_USE_TLS = True
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_PASSWORD = 'sender' #sender mail password
EMAIL_HOST_USER = 'sender@mail.com' #sender mail username
EMAIL_PORT = 587
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
In view.py

send_mail('mail subject', 'body content',settings.EMAIL_HOST_USER,
                      ['receiver@mail.com'], fail_silently=False)

然后转到启用不太安全的应用程序访问

我有一个类似的配置,但有:
EMAIL\u HOST\u USER='10〕sarath4coding@gmail.com“
电子邮件\u PORT=587
电子邮件\u使用\u TLS=True
此处相同。尝试了下面的每一个答案,但它仍然不适用于我。我有一个类似的配置,但使用:
EMAIL\u HOST\u USER='10〕sarath4coding@gmail.com“
电子邮件\u PORT=587
电子邮件\u使用\u TLS=True
此处相同。尝试了下面的每个答案,但仍然不适用于我。可能更安全的选项是添加特定于应用程序的密码:Link is break@ptim:(tx@Vini.g.fer!此帮助页解释了过程:可能更安全的选项是添加特定于应用程序的密码:Link is break@ptim:(tx@Vini.g.fer!此帮助页解释了过程: