I have an application in which the user can contact me by filling out a form and in a form that the user simply needs to fill in with his details, email and subject.
The code does not cause an error, but I could not receive mail after setting everything up, but the contact data will be saved in the database, since I want it to be saved.
Below is my code.
Models.py
class Contact(models.Model): name = models.CharField(max_length=100) message = models.TextField() sender = models.EmailField() phone = models.CharField(max_length=10) cc_myself = models.BooleanField(blank=True) time = models.DateTimeField(auto_now_add=True, db_index=True) def __str__(self): return 'Message for {}'.format(self.sender)
Forms.py
class ContactForm(forms.ModelForm): class Meta: model = Contact fields = ['name', 'sender', 'phone', 'message', 'cc_myself']
Views.py
def contact(request): if request.method == 'POST': contact_form = ContactForm(request.POST) if contact_form.is_valid(): name = contact_form.cleaned_data['name'] message = contact_form.cleaned_data['message'] sender = contact_form.cleaned_data['sender'] phone = contact_form.cleaned_data['phone'] cc_myself = contact_form.cleaned_data['cc_myself'] recipients = [' xxxx@gmail.com '] if cc_myself: recipients.append(sender) send_mail(name, message, sender, recipients) contact_form.save() messages.success(request, 'Message sent successfully') return redirect('contact:contact') else: messages.error(request, 'Error sending your Message') else: contact_form = ContactForm(request.POST) context = { "contact_form": contact_form, } template = 'contact.html' return render(request, template, context)
gmail server
EMAIL_HOST = 'smtp.gmail.com' EMAIL_HOST_USER = ' xxx@gmail.com ' EMAIL_HOST_PASSWORD = 'xxxx' EMAIL_PORT = '587' EMAIL_USE_TLS = True
terminal output
MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Subject: adie Ugbe From: abcd@gmail.com To: xxxx@gmail.com Date: Sun, 07 Jan 2018 11:11:10 -0000 Message-ID: < 20180107111110.29855.10393@1.0.0.127.in-addr.arpa > oh oh no ooo dddddddd se skan ------------------------------------------------------------------------------- Successful
source share