title: Using Django's built in change password feature: [Errno 65] No route to host
body: <p>I am trying to implement Django's built in change password feature. I am getting the following error after clicking reset on the initial /user/password/reset page: </p>
  
  <p>[Errno 65] No route to host at location socket.py in create_connection</p>
  
  <p>I am using the standard urls:</p>
  
  <pre><code>url(r'^user/password/reset/$', 
      'django.contrib.auth.views.password_reset', 
      {'post_reset_redirect' : '/user/password/reset/done/'},
      name="password_reset"),
  (r'^user/password/reset/done/$',
      'django.contrib.auth.views.password_reset_done'),
  (r'^user/password/reset/(?P&lt;uidb36&gt;[0-9A-Za-z]+)-(?P&lt;token&gt;.+)/$', 
      'django.contrib.auth.views.password_reset_confirm', 
      {'post_reset_redirect' : '/user/password/done/'}),
  (r'^user/password/done/$', 
      'django.contrib.auth.views.password_reset_complete'),
  </code></pre>
  
  <p>Email settings:</p>
  
  <pre><code>EMAIL_USE_TLS = True
  EMAIL_HOST = 'my.email.host'
  EMAIL_PORT = 'myport'
  EMAIL_HOST_USER = 'myemail@example.com'
  EMAIL_HOST_PASSWORD = 'MYPW'
  </code></pre>
  
  <p>custom reset template:</p>
  
  <pre><code>{% extends "base.html" %}
  
  {% block title %}Reset Password{% endblock %}
  
  {% block content %}
  &lt;p&gt;Please specify your email address to receive instructions for resetting it.&lt;/p&gt;
  
  &lt;form action="" method="post"&gt;
  &lt;div style="display:none"&gt;
      &lt;input type="hidden" value="{{ csrf_token }}" name="csrfmiddlewaretoken"&gt;
  &lt;/div&gt;
   {{ form.email.errors }}
  &lt;p&gt;&lt;label for="id_email"&gt;E-mail address:&lt;/label&gt; {{ form.email }} &lt;input type="submit" value="Reset password" /&gt;&lt;/p&gt;
  </code></pre>
  
  <p>
      {% endblock %}</p>
  
  <p>custom email template: </p>
  
  <pre><code>{% load i18n %}
  {% autoescape off %}
  
  You're receiving this e-mail because you requested a password reset for your user account at {{ site_name }}.
  
  Please go to the following page and choose a new password:
  {% block reset_link %}
  {{ protocol }}://{{ domain }}{% url "django.contrib.auth.views.password_reset_confirm" uidb36=uid token=token %}
  {% endblock %}
  
  Your username, in case you've forgotten: {{ user.username }}
  
  Thanks for using our site!
  
  The {{ site_name }} team.
  
  {% endautoescape %}
  </code></pre>