python - 我收到来自同一邮件域的邮件,该邮件域是 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 我搜索了很多但找不到解决方案,帮我解决这个错误#
解决方案
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']]
推荐阅读
- node.js - 当我从 github repo 克隆时,为什么我的 webpack 项目无法构建?
- python - 如何检索列内容?
- python - Python:从父目录或相对路径导入文件
- laravel - 迁移:引用同一个表的两个外键导致错误
- mysql - 我想在明年 4 月以最低价格获得可用房间
- python - 计算 kmeans 算法的核密度估计
- c++ - 优化 CPU 流水线和缓存访问
- oauth-2.0 - 访问令牌和用户 ID
- r - 使用 data.table 模糊连接两个数据帧
- c++ - 为什么在 std::visit 中使用 std::overload 而不是概念/constexpr?