So, I've got a contact form so people can email me, or, if a username
is passed in the URL, site members can email each other. It works fine,
at least so far as I can tell. People get the emails, in other words.
The weirdness is in the "TO:" fields the recipient sees: They look
something like this:
To: [EMAIL PROTECTED]; [EMAIL PROTECTED];
[EMAIL PROTECTED];
[EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED];
[EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED];
[EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED];
[EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED];
[EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED];
[EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED];
[EMAIL PROTECTED]; "."@ruble.dreamhost.com; [EMAIL PROTECTED];
[EMAIL PROTECTED]; "."@ruble.dreamhost.com; [EMAIL PROTECTED];
[EMAIL PROTECTED]
Subject: Gretsch Pages contact form message
The flaky part is that the recipient ISN'T in there, but they get it.
Here's the view:
from django.core import mail, validators
from django import forms
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response
from pprint import pformat
from urllib import urlencode
from django.contrib.auth.models import User
class ContactManipulator(forms.Manipulator):
def __init__(self):
self.fields = [
forms.TextField('name', is_required=True),
forms.EmailField('from_address', is_required=True),
forms.LargeTextField('message', is_required=True),
]
def save(self, new_data, to):
mail.send_mail("Gretsch Pages contact form message",
new_data["message"],
new_data["from_address"],
str(to),
fail_silently = False
)
return "done/"
def contact(request, slug=""):
if slug=="":
to = "[EMAIL PROTECTED]"
else:
to = User.objects.get(username=slug).email
return form_helper(request, to, ContactManipulator(),
"contact/form.html")
def form_helper(request, to, manipulator, template):
if request.POST:
new_data = request.POST.copy()
errors = manipulator.get_validation_errors(new_data)
if not errors:
manipulator.do_html2python(new_data)
redirect_url = manipulator.save(new_data, to)
return HttpResponseRedirect(redirect_url)
else:
errors = new_data = {}
context = {'form' : forms.FormWrapper(manipulator, new_data,
errors)}
return render_to_response(template, context)
Any ideas?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---