django отправка почты с формулой - PullRequest
0 голосов
/ 31 марта 2020

Я хочу, чтобы пользователь отправил электронное письмо, если у него возникнет вопрос о продукте et c. Поэтому я сделал все, что знаю об этом, и установил хост внутри settings.py

EMAIL_HOST  = 'smtp.gmail.com'
EMAIL_PORT  = 465
EMAIL_HOST_USER     = 'name@gmail.com'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_USE_TLS   = False
EMAIL_USE_SSL   = True

. В views.py я проверил правильность конфигурации и отправил мне электронное письмо с

send_mail('things', 'sub', 'message', 'mail@gmx.de' , ['name@gmail.com'], fail_silently=False)

Итак, я создал почтовую форму, в которой пользователь может ввести свое имя, адрес электронной почты и сообщение

<form method="POST" action="/contact/">
    {% csrf_token %}
    <div class="row mb-3">
        <div class="col">
            <label>name * </label>
            <input type="text" class="form-control" placeholder="name" name="conName">
        </div>
        <div class="col">
            <label>message *</label>
            <input type="text" class="form-control" placeholder="message" name="conText">
        </div>
    </div>
    <div class="mb-3">
        <label>Email-Adresse * </label>
        <input type="email" class="form-control" placeholder="pablo@picasso.de" name="conEmail">
    </div>
    </div>
    <button type="submit" class="btn btn-outline-success">Abschicken</button>
</form>

Теперь мне нужно изменить views.py, чтобы вводимые пользователем данные помещались и отправлялись :

from django.shortcuts import render
from django.core.mail import send_mail, EmailMultiAlternatives
# from .models import Contact_formular

    def contactFormular(request):
        return render(request, 'contact.html',{})
        if request.method   == 'POST':
            name            = request.POST['conName']
            email           = request.POST['conEmail']
            message         = request.POST['conText']
            send_mail('New request', name, message, email , ['name@gmail.com'], fail_silently=False)

Но форма не размещена внутри почты. Я не могу отправить почту! Я пытался поместить send_mail в переменную и вызывать ее при нажатии кнопки отправки, но ничего не произошло.

...