Я хочу, чтобы пользователь отправил электронное письмо, если у него возникнет вопрос о продукте 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 в переменную и вызывать ее при нажатии кнопки отправки, но ничего не произошло.