[GH-ISSUE #996] Hi, how to fix this error ,please help me, whenever user register it gives: SMTPAuthenticationError at /accounts/register/ (535, b'Incorrect authentication data') #695

Closed
opened 2026-02-25 23:43:18 +03:00 by kerem · 0 comments
Owner

Originally created by @Rukisely on GitHub (Apr 21, 2024).
Original GitHub issue: https://github.com/healthchecks/healthchecks/issues/996

I have my password in .env file which consitst of MAIL = name@sakuragroup.co.tz and PASSWORD = ********
settings.py:
`
mail = os.environ.get("MAIL")
mail_pass = os.environ.get("PASSWORD")

Email settings for Sakurahost SMTP server

EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
EMAIL_HOST = "mail.sakurahost.co.tz"
EMAIL_PORT = 465 # Use port 465 for SMTP with SSL/TLS
EMAIL_USE_SSL = True # Use SSL/TLS for secure connection
EMAIL_HOST_USER = mail # Your email address
EMAIL_HOST_PASSWORD = mail_pass # Your email password
DEFAULT_FROM_EMAIL = mail # Sender email address

Additional settings for authentication and secure connection

EMAIL_USE_TLS = False # Since we're using SSL/TLS, set this to False

LOGIN_REDIRECT_URL = "/"
my views.pyfrom .forms import RegistrationForm
from django.contrib.sites.shortcuts import get_current_site
from django.template.loader import render_to_string
from django.utils.http import urlsafe_base64_encode, urlsafe_base64_decode
from django.utils.encoding import force_bytes, force_str
from .tokens import account_activation_token
from django.core.mail import EmailMessage
from django.contrib import messages
from django.shortcuts import redirect, render
from django.contrib.auth import get_user_model, login
from django.urls import reverse

def index(request):
messages_to_display = messages.get_messages(request)
return render(request, "index.html", {"messages": messages_to_display})

def register_user(request):
form = RegistrationForm() # Initialize the form instance
if request.method == "POST":
form = RegistrationForm(request.POST)
if form.is_valid():
user = form.save(commit=False)
user.is_active = False
user.save()

        current_site = get_current_site(request)
        mail_subject = "Activate your Account"
        message = render_to_string("registration/account_activate_email.html", {
            "user": user,
            "domain": current_site.domain,
            "uid": urlsafe_base64_encode(force_bytes(user.pk)),
            "token": account_activation_token.make_token(user),
        })
        to_email = form.cleaned_data.get("email")
        email = EmailMessage(mail_subject, message, to=[to_email])
        email.send()

        messages.success(request, "Please check your email to complete the registration")
        return redirect("index")
return render(request, "registration/register.html", {"form": form})

def activate(request, uidb64, token):
User = get_user_model()

try:
    uid = force_str(urlsafe_base64_decode(uidb64))
    user = User.objects.get(pk=uid)
except (TypeError, ValueError, OverflowError, User.DoesNotExist):
    user = None

if user is not None and account_activation_token.check_token(user, token):
    user.is_active = True
    user.save()

    login(request, user)

    messages.success(request, "Your account has been successfully activated!")
    return redirect(reverse("login"))
else:
    messages.error(request, "Activation Link is Invalid or Expired")
    return redirect("index")

`

Originally created by @Rukisely on GitHub (Apr 21, 2024). Original GitHub issue: https://github.com/healthchecks/healthchecks/issues/996 I have my password in .env file which consitst of MAIL = name@sakuragroup.co.tz and PASSWORD = ******** settings.py: ` mail = os.environ.get("MAIL") mail_pass = os.environ.get("PASSWORD") # Email settings for Sakurahost SMTP server EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend" EMAIL_HOST = "mail.sakurahost.co.tz" EMAIL_PORT = 465 # Use port 465 for SMTP with SSL/TLS EMAIL_USE_SSL = True # Use SSL/TLS for secure connection EMAIL_HOST_USER = mail # Your email address EMAIL_HOST_PASSWORD = mail_pass # Your email password DEFAULT_FROM_EMAIL = mail # Sender email address # Additional settings for authentication and secure connection EMAIL_USE_TLS = False # Since we're using SSL/TLS, set this to False LOGIN_REDIRECT_URL = "/" ` my views.py `from .forms import RegistrationForm from django.contrib.sites.shortcuts import get_current_site from django.template.loader import render_to_string from django.utils.http import urlsafe_base64_encode, urlsafe_base64_decode from django.utils.encoding import force_bytes, force_str from .tokens import account_activation_token from django.core.mail import EmailMessage from django.contrib import messages from django.shortcuts import redirect, render from django.contrib.auth import get_user_model, login from django.urls import reverse def index(request): messages_to_display = messages.get_messages(request) return render(request, "index.html", {"messages": messages_to_display}) def register_user(request): form = RegistrationForm() # Initialize the form instance if request.method == "POST": form = RegistrationForm(request.POST) if form.is_valid(): user = form.save(commit=False) user.is_active = False user.save() current_site = get_current_site(request) mail_subject = "Activate your Account" message = render_to_string("registration/account_activate_email.html", { "user": user, "domain": current_site.domain, "uid": urlsafe_base64_encode(force_bytes(user.pk)), "token": account_activation_token.make_token(user), }) to_email = form.cleaned_data.get("email") email = EmailMessage(mail_subject, message, to=[to_email]) email.send() messages.success(request, "Please check your email to complete the registration") return redirect("index") return render(request, "registration/register.html", {"form": form}) def activate(request, uidb64, token): User = get_user_model() try: uid = force_str(urlsafe_base64_decode(uidb64)) user = User.objects.get(pk=uid) except (TypeError, ValueError, OverflowError, User.DoesNotExist): user = None if user is not None and account_activation_token.check_token(user, token): user.is_active = True user.save() login(request, user) messages.success(request, "Your account has been successfully activated!") return redirect(reverse("login")) else: messages.error(request, "Activation Link is Invalid or Expired") return redirect("index") `
kerem closed this issue 2026-02-25 23:43:18 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/healthchecks#695
No description provided.