首页 > 解决方案 > 我收到来自同一邮件域的邮件,该邮件域是 django 中的主机邮件

问题描述

这是我的应用程序的 settings.py

EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'hk7206210@gmail.com'
EMAIL_HOST_PASSWORD = '*********'
EMAIL_PORT = '587'
EMAIL_USE_TLS = True

表格.py

from django import forms

class contactForm(forms.Form):
    name = forms.CharField(required= True,max_length = 100,help_text = '100 
    character Max.')
    email = forms.EmailField(required = True)
    comment = forms.CharField(widget = forms.Textarea)

视图.py

from django.shortcuts import render
from .forms import contactForm
from django.core.mail import send_mail
from django.conf import settings
# Create your views here.
def contact(request):
    form = contactForm(request.POST or None)

if form.is_valid():
    name = form.cleaned_data['name']
    comment = form.cleaned_data['comment']
    subject = 'Message from Matrimonial.com'
    message = '%s %s' %(comment,name)
    emailFrom = form.cleaned_data['email']
    emailTo = [settings.EMAIL_HOST_USER]
    send_mail(subject, message,emailFrom,emailTo)
context = locals()
template = 'contact.html'
return render(request,template,context)

问题是发件人和收件人来自 hk7206210@gmail.com 的同一个电子邮件地址,也是 hk7206210@gmail.com 我搜索了很多但找不到解决方案,帮我解决这个错误#

标签: pythondjangoemailauthenticationgmail

解决方案


1)为什么发件人='hk7206210@gmail.com'
settings.EMAIL_HOST_USER是你的电子邮件帐户,任何电子邮件都会从这个地址发出,所以你的发件人是'hk7206210@gmail.com'

2)为什么receiver = 'hk7206210@gmail.com'
因为你写emailTo = [settings.EMAIL_HOST_USER]

你想达到什么目的?如果您想向用户在表单中输入的内容发送电子邮件,则应该相反:

emailFrom = settings.EMAIL_HOST_USER
emailTo = [form.cleaned_data['email']]

推荐阅读