django发送邮件[Errno -2]名称或服务未知

时间:2017-10-05 06:46:42

标签: python django email

我在我的项目中使用django-registration在用户忘记密码时发送电子邮件。但我得到错误[Errno -2]名称或服务未知。以下是我的设置和追溯..

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'my@gmail.com'
EMAIL_HOST_PASSWORD = 'mypassword'
EMAIL_PORT = 587

gaierror at /accounts/password_reset/
    [Errno -2] Name or service not known
    Request Method: POST
    Request URL:    http://localhost:8000/accounts/password_reset/
    Django Version: 1.10.5
    Exception Type: gaierror
    Exception Value:    
    [Errno -2] Name or service not known
    Exception Location: /usr/lib/python2.7/socket.py in create_connection, line 553
    Python Executable:  /usr/bin/python
    Python Version: 2.7.6
    Python Path:    
    ['/vagrant/ifoswork/ifoswork',
     '/usr/lib/python2.7',
     '/usr/lib/python2.7/plat-x86_64-linux-gnu',
     '/usr/lib/python2.7/lib-tk',
     '/usr/lib/python2.7/lib-old',
     '/usr/lib/python2.7/lib-dynload',
     '/usr/local/lib/python2.7/dist-packages',
     '/usr/lib/python2.7/dist-packages']
    Server time:    Thu, 5 Oct 2017 14:38:34 +0800

1 个答案:

答案 0 :(得分:1)

当我收到此错误时,它是由以下字段中的错误信息引起的:

EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'my@gmail.com'
EMAIL_HOST_PASSWORD = 'mypassword'
EMAIL_PORT = 587

除了我没有使用gmail,但我确实在Django 1.8 sending mail using gmail SMTP

上找到了以下信息
  

转到您的Google帐户设置,找到安全性 - >帐户权限 - >访问安全性较低的应用,启用此选项。

基本上是错误" [Errno -2]名称或服务未知"无法连接到电子邮件服务器。