Damian Stelucir
Damian Stelucir

Reputation: 55

Sending email in django.

I have a page where people can submit an email. It works, but I receive all emails from it saying that they are from myself.

Here's the view:

def signup(request):
  if request.method == 'POST': # If the form has been submitted...
    form = SignUpForm(request.POST) # A form bound to the POST data
    if form.is_valid(): # All validation rules pass
        subject = form.cleaned_data['subject']
        message = form.cleaned_data['message']
        sender = form.cleaned_data['sender']
        recipients = ['[email protected]']

        from django.core.mail import send_mail
        send_mail(subject, message, sender, recipients)
        return HttpResponseRedirect('/thanks/') # Redirect after POST
else:
     form = SignUpForm() # An unbound form
return render_to_response('signup.html', {'form': form,},context_instance=RequestContext(request))

And the settings:

EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = '[email protected]'
EMAIL_HOST_PASSWORD = 'mypassword'
EMAIL_PORT = 587
MANAGERS = ADMINS

Upvotes: 2

Views: 483

Answers (1)

Yuval Adam
Yuval Adam

Reputation: 165242

Your usage of send_mail() appears to be correct.

Assuming that Gmail is your SMTP vendor, it seems that Gmail does not support using custom From: email addresses.

Relevant:

Upvotes: 1

Related Questions