Письмо отправлено на неправильный аккаунт - PullRequest
1 голос
/ 17 апреля 2020

Я создал контактную форму, которая отправляет электронное письмо. У меня просто небольшая проблема с учетной записью, на которую она отправляется. Я хочу, чтобы электронное письмо было отправлено с "servwishes@gmail.com" на "Contact_Email". Прямо сейчас электронное письмо переходит от "Contact_Email" к "servwishes@gmail.com".

my views.py выглядит так:

def contact(request):
    Contact_Form = ContactForm
    if request.method == 'POST':
        form = Contact_Form(data=request.POST)

        if form.is_valid():
            contact_name = request.POST.get('contact_name')
            contact_email = request.POST.get('contact_email')
            contact_content = request.POST.get('content')

            template = get_template('users/contact_form.txt')
            context = {
                'contact_name' : contact_name,
                'contact_email' : contact_email,
                'contact_content' : contact_content,
            }

            content = template.render(context)

            email = EmailMessage(
                "New contact form email",
                content,
                "Creative web" + '',
                ['servwishes@gmail.com'],
                headers = { 'Reply To': contact_email }
            )

            email.send()


    return render(request, 'users/contact.html', {'form':Contact_Form })

И мой setting.py выглядит так:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'servwishes@gmail.com' 
EMAIL_HOST_PASSWORD = '*******'
EMAIL_PORT = 587
EMAIL_USE_TLS = True

1 Ответ

2 голосов
/ 17 апреля 2020

Если вы посмотрите на порядок ваших аргументов и преобразуете их из позиционных в ключевые слова, у вас в настоящее время есть:

        email = EmailMessage(
            subject="New contact form email",
            body=content,
            from_email="Creative web" + '',
            to=['servwishes@gmail.com'],
            headers = { 'Reply To': contact_email }
        )

Я думаю, что здесь было несколько проблем. Я думаю, что вы, вероятно, хотели сделать:

from_email='"Creative web" <servwishes@gmail.com>'

Но так как вы этого не поняли, это испортило порядок ваших позиционных аргументов.

To должно быть to=contact_email

Другая проблема, я думаю, вы неправильно понимаете заголовок «Ответить». Вот кому, когда получатель нажмет кнопку ответа, письмо будет отправлено обратно. Это не то, кому вы отправляете электронное письмо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...