Добавление дополнительных полей в send_mail - PullRequest
0 голосов
/ 29 апреля 2020

Я вижу людей, использующих функцию send_mail, например:

send_mail(subject, message, from_email, ['admin@example.com'])

В моей форме есть больше полей, таких как «имя» и «номер телефона». Как я могу передать эти дополнительные поля функции send_mail?

forms.py

class ContactForm(forms.Form):
    name = forms.CharField(required=True)
    phone_number = forms.CharField(required=True)
    from_email = forms.EmailField(required=True)
    subject = forms.CharField(required=True)
    message = forms.CharField(widget=forms.Textarea, required=True)

views.py

def contactView(request):
    if request.method == 'GET':
        form = ContactForm()
    else:
        form = ContactForm(request.POST)
        if form.is_valid():
            subject = form.cleaned_data['subject']
            from_email = form.cleaned_data['from_email']
            message = form.cleaned_data['message']
            try:
                send_mail(subject, message, from_email, ['admin@example.com'])
            except BadHeaderError:
                return HttpResponse('Invalid header found.')
            return redirect('success')
    return render(request, "email.html", {'form': form})

1 Ответ

0 голосов
/ 29 апреля 2020

нет, поля в sendmail соответствуют данным в заголовке письма. Если вы хотите добавить больше контактных данных в электронное письмо, вы должны представить их в теле (например, в качестве отказа от ответственности). Вы также можете проверить эту ветку: добавить имя отправителя в поле from электронного письма в python

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