Задать вопрос
alexkomp
@alexkomp
Простота — залог надежности.

Почему не отправляется письмо для подтверждения email на django?

Пытаюсь сделать регистрацию пользователя с подтверждение email по почте.
Но при отправке письма он выдает ошибку "[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1045)"

EMAIL_HOST = 'smtp.mail.ru'
EMAIL_PORT = 2525
EMAIL_HOST_USER = "my@mail.ru"
EMAIL_HOST_PASSWORD = "*********"
EMAIL_USE_SSL = True

views.py
def signup(request):
    if request.method == 'POST':
        form = SignupForm(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('acc_active_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()
            return HttpResponse('Please confirm your email address to complete the registration')
    else:
        form = SignupForm()
    return render(request, 'signup.html', {'form': form})
  • Вопрос задан
  • 605 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
alexkomp
@alexkomp Автор вопроса
Простота — залог надежности.
Лучше делать через gmail. Получилось через gmail.

EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = "your_acc@gmail.com"
EMAIL_HOST_PASSWORD = "your_password"
EMAIL_USE_TLS = True
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Netupovy
На stackoverflow есть решение.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы