Джанго не отправляет электронные письма на действительный адрес - PullRequest
0 голосов
/ 10 июня 2018

Мне нужно, чтобы Django отправил электронное письмо с подтверждением, но оно постоянно сообщает мне, что мой электронный адрес не является действительным - что-то не так с моим кодом?

Ошибка:

SMTPRecipientsRefused at /accounts/signup

{'=?utf-8?q?email?=': (553, b'5.1.2 The recipient address <=?utf-8?q?email?=> is not a valid RFC-5321\n5.1.2 address. h7-v6sm4740542wmc.44 - gsmtp')}

Функция Views.py:

def signup(request):
    if request.method == 'POST':
        if request.POST['password1'] == request.POST['password2']:
            try:
                user = User.objects.get(username=request.POST['username'])
                return render(request, 'accounts/signup.html', {'error':'Username has already been taken'})
            except User.DoesNotExist:
                user = User.objects.create_user(request.POST['username'], password=request.POST['password1'], email=request.POST['email'])
                email = user.email
                auth.login(request, user)
                msg = EmailMessage('Request Callback',
                       'Here is the message.', to=['email'])
                msg.send()
                return redirect('home')
        else:  #<---- I think you need this one too
            return render(request, 'accounts/signup.html', {'error':"Passwords didn't match"})
    else:
        #if it's a GET
        return render(request, 'accounts/signup.html')

1 Ответ

0 голосов
/ 10 июня 2018

Если это ваш настоящий код, вы отправляете электронное письмо на "email" , а не на значение переменной email, которую вы определили ранее.

Итак,

msg = EmailMessage('Request Callback','Here is the message.', to=[email, ])
...