I am on a Mac, I have doubled check the gmail credentials.
here is something from stack overflow but, it goes over my head. not even sure if its pertinent.
here is the stack trace:
Environment:
Request Method: POST
Request URL: http://127.0.0.1:8001/account/register
Django Version: 4.2.11
Python Version: 3.11.5
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'store',
'cart',
'mathfilters',
'account',
'crispy_forms']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
Traceback (most recent call last):
File "/Users/joelburns/DjangoWebstore/djangoWebstoreVenv/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/joelburns/DjangoWebstore/djangoWebstoreVenv/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/joelburns/DjangoWebstore/ecommerce/account/views.py", line 47, in register
user.email_user(subject=subject, message=message)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/joelburns/DjangoWebstore/djangoWebstoreVenv/lib/python3.11/site-packages/django/contrib/auth/models.py", line 402, in email_user
send_mail(subject, message, from_email, [self.email], **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/joelburns/DjangoWebstore/djangoWebstoreVenv/lib/python3.11/site-packages/django/core/mail/__init__.py", line 87, in send_mail
return mail.send()
^^^^^^^^^^^
File "/Users/joelburns/DjangoWebstore/djangoWebstoreVenv/lib/python3.11/site-packages/django/core/mail/message.py", line 298, in send
return self.get_connection(fail_silently).send_messages([self])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/joelburns/DjangoWebstore/djangoWebstoreVenv/lib/python3.11/site-packages/django/core/mail/backends/smtp.py", line 127, in send_messages
new_conn_created = self.open()
^^^^^^^^^^^
File "/Users/joelburns/DjangoWebstore/djangoWebstoreVenv/lib/python3.11/site-packages/django/core/mail/backends/smtp.py", line 85, in open
self.connection = self.connection_class(
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/smtplib.py", line 255, in __init__
(code, msg) = self.connect(host, port)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/smtplib.py", line 341, in connect
self.sock = self._get_socket(host, port, self.timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/smtplib.py", line 312, in _get_socket
return socket.create_connection((host, port), timeout,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/socket.py", line 827, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/socket.py", line 962, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Exception Type: gaierror at /account/register
Exception Value: [Errno 8] nodename nor servname provided, or not known
The stack trace points to this as the source of the error:
def register(request):
form = CreateUserForm()
if request.method == 'POST':
form = CreateUserForm(request.POST)
if form.is_valid():
user = form.save()
user.is_active = False
user.save()
# email verification setup
current_site = get_current_site(request)
subject = 'Account Verification Email'
message = render_to_string('account/registration/email-verification.html',
{
'user': user,
'domain': current_site.domain ,
'uid': urlsafe_base64_encode(force_bytes(user.pk)),
'token': user_tokenizer_generate.make_token(user),
})
user.email_user(subject=subject, message=message)
return redirect ('email-verification-sent')
context = {'form':form}
return render(request, 'account/registration/register.html', context=context)
def email_verification(request, uidb64, token):
unique_id = force_str(urlsafe_base64_decode(uidb64))
user = User.objects.get(pk=unique_id)
# success
if user and user_tokenizer_generate.check_token(user, token):
user.is_active = True
user.save()
return redirect('email-verification-success')
# failed
else:
return redirect('email-verification-failed')
def email_verification_sent(request):
return render(request, 'account/registration/email-verification-sent.html')
def email_verification_success(request):
return render(request, 'account/registration/email-verification-success.html')
def email_verification_failed(request):
return render(request, 'account/registration/email-verification-failed.html')
here is the email configurations in the settings file:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = '587'
EMAIL_USE_TLS = 'True'
EMAIL_HOST = '#########' #admin email
EMAIL_HOST_PASSWORD = '##########'