0

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

Byansi
  • 37
  • 7

0 Answers0