У меня есть контактная форма на shantiyoga.ca/contactПравильная техника для контактной формы?
С видом
def contact(request):
template = 'contact.html'
form = ContactForm(request.POST or None)
if form.is_valid(): # All validation rules pass
subject = form.cleaned_data['subject']
message = "%s\n\n%s" % (form.cleaned_data['message'], form.cleaned_data['sender'])
cc_myself = form.cleaned_data['cc_myself']
recipients = ['[email protected]']
sender = form.cleaned_data['sender']
if cc_myself:
recipients.append(sender)
headers = {'Reply-To': form.cleaned_data['sender']}
from django.core.mail import send_mail
send_mail(subject,message,sender,recipients,headers)
return redirect('/thanks/')
return render_to_response(template, {'form': form, 'current':'contact'}, context_instance=RequestContext(request))
, который работает достаточно хорошо. Я не ужасно изощрен с Django, и мои навыки Python не совсем подходят для табака, поэтому, пожалуйста, несите меня, если я пройду через это в основном.
Я хотел бы уточнить, что для получателя формы ([email protected]) нет способа получить форму контакта из значения поля электронной почты (введенный пользователем). Он всегда будет отправлен аутентифицированным письмом в мои settings.py, который на данный момент является моим личным адресом электронной почты?
Пользователь заполняет форму контакта и отправляет отправление, электронное письмо отправляется на адрес [email protected] из моего личного адреса электронной почты, и если пользователь решает сам cc, копия электронной почты отправляется им, также из моего личного письма.
Это не идеальное решение. Должен ли я создать электронное письмо, например [email protected], для моих настроек.py для отправки электронной почты?
Спасибо за ваше время, Ноя
Там нет необходимости раздеваться новые строки из значений заголовка, Джанго будет расти BadHeaderError если он встречает новые линии. В документации объясняется, как следует обрабатывать исключение. В таких случаях я склонен повышать SuspiciousOperation и не беспокоить много. – Ski