Am getting the above error when trying to send email to user to activate the account. I nor have error in my code and l dont know what brings it. the error is below
[WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
HERE IS MY TRACEBACK
Traceback Switch to copy-and-paste view
C:\N2G-PROJECT\venv\lib\site-packages\django\core\handlers\exception.py, line 55, in inner
response = get_response(request) …
Local vars
C:\N2G-PROJECT\venv\lib\site-packages\django\core\handlers\base.py, line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs) …
Local vars
c:\N2G-PROJECT\my_site\Authentification\views.py, line 200, in signup
email_message.send() …
Local vars
C:\N2G-PROJECT\venv\lib\site-packages\django\core\mail\message.py, line 298, in send
return self.get_connection(fail_silently).send_messages([self]) …
Local vars
C:\N2G-PROJECT\venv\lib\site-packages\django\core\mail\backends\smtp.py, line 127, in send_messages
new_conn_created = self.open() …
Local vars
C:\N2G-PROJECT\venv\lib\site-packages\django\core\mail\backends\smtp.py, line 85, in open
self.connection = self.connection_class( …
Local vars
C:\Users\sb\AppData\Local\Programs\Python\Python310\lib\smtplib.py, line 255, in __init__
(code, msg) = self.connect(host, port) …
Local vars
C:\Users\sb\AppData\Local\Programs\Python\Python310\lib\smtplib.py, line 341, in connect
self.sock = self._get_socket(host, port, self.timeout) …
Local vars
C:\Users\sb\AppData\Local\Programs\Python\Python310\lib\smtplib.py, line 312, in _get_socket
return socket.create_connection((host, port), timeout, …
Local vars
C:\Users\sb\AppData\Local\Programs\Python\Python310\lib\socket.py, line 845, in create_connection
raise err …
Local vars
C:\Users\sb\AppData\Local\Programs\Python\Python310\lib\socket.py, line 833, in create_connection
sock.connect(sa) …
Local vars
VIEWS.PY
.......
user.is_active=False
user.save()
current_site = get_current_site(request)
email_subject = 'Activate Your Account',
message = render_to_string('authentification/auth-sms/activate.html',
{
'user':user,
'domain':current_site.domain,
'uid':urlsafe_base64_encode(force_bytes(user.pk)),
'token':generate_token.make_token(user)
})
email_message =EmailMessage(
email_subject,
message,
settings.EMAIL_HOST_USER,
[email]
)
email_message.send()
return redirect('signin')
else:
messages.info(request, 'Password do not match')
return redirect('signup')
activate function
def activate(request, uidb64, token):
try:
uid=force_str(urlsafe_base64_decode(uidb64))
user =User.objects.get(pk=uid)
except Exception as identifier:
user=None
if user is not None and generate_token.check_token(user, token):
user.is_active=True
user.save()
messages.info(request, 'Account Activated Successfully')
return redirect('signin')
return render(request, 'authentication/auth_sms/activate_failed.html', status=401)
settings.py
EMAIL_HOST='smtp.gmail.com'
EMAIL_HOST_USER='example@gmail.com'
EMAIL_HOST_PASSWORD='password'
EMAIL_USE_TSL=True
EMAIL_PORT=587
EMAIL_USE_SSL = False
urls.py
path('signup',views.signup, name='signup'),
path('activate/<uidb64>/<token>', views.activate, name='activate'),
token.py
from django.contrib.auth.tokens import PasswordResetTokenGenerator
import six
class TokenGenerator(PasswordResetTokenGenerator):
def _make_hash_value(self, user, timestamp):
return (
six.text_type(user.pk) +
six.text_type(timestamp) +
six.text_type(user.is_active)
)
generate_token=TokenGenerator()
I have not found any error in my code yet. But l request any who know the problem to help me .
Thanks