我从同一个邮件域接收邮件,该域是 Django 中的主机邮件



这是我的应用程序 settings.py

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

forms.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)

views.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 和 to 的相同电子邮件地址,这也是 hk7206210@gmail.com 我搜索了很多但找不到解决方案,请帮助我摆脱此错误 #

1(为什么发件人='hk7206210@gmail.com'
您的settings.EMAIL_HOST_USER是您的电子邮件帐户,任何电子邮件都将来自此地址,因此您的发件人是"hk7206210@gmail.com">

2(为什么接收器='hk7206210@gmail.com'
因为你写了emailTo = [settings.EMAIL_HOST_USER]

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

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

最新更新