python - 我想通过表单数据发送邮件。我希望接收者固定,发送者仅改变。我怎样才能实现这一点?

标签 python django

这是models.py。电子邮件字段是带有密码的发件人,收件人是email1

class ContactModel(models.Model):
    fullname = models.CharField(max_length=20,null=True,blank=True)
    email=models.EmailField(null=True,blank=True)
    password = forms.CharField(widget=forms.PasswordInput)
    email1=models.EmailField(null=True,blank=True)
    subject=models.CharField(max_length=30,null=True,blank=True)
    message=models.TextField(max_length=200)
    color = models.CharField(max_length=6, choices=COLOR_CHOICES, default='green')

这是我的views.py 文件。

def contact_page(request):
    if request.method=='POST':
        form = ContactForm(request.POST)
        if form.is_valid():
            fullname =form.cleaned_data.get("fullname")
            email =form.cleaned_data.get(settings.EMAIL_HOST_USER)
            password=form.cleaned_data.get(settings.EMAIL_HOST_PASSWORD)
            subject =form.cleaned_data.get("subject")
            model_instance = form.save(commit=False)
            fullname = request.POST.get('fullname', '')
            email1 = request.POST.get('email1', '')
            message = request.POST.get('message', '')
            color = request.POST.get('color', '')
            # Email the profile with the
            # contact information
            template = get_template('contact_template.txt')
            context = {
                        'fullname': fullname,
                        'email': email,
                        'message': message,
                        'color':color,
                        'email1': email1,
                    }
            message = template.render(context)

            email = EmailMessage("Test Mail",message,settings.EMAIL_HOST_USER,[email1], headers = {'Reply-To': email1 } )
            email.send()
            model_instance.save()
            return render(request,'form/success.html')
    else:
        form = ContactForm()
    return render(request, "contact_page.html", {'form': form})

请帮我只更改一个接收者和发送者。我将感谢你的帮助。 尝试通过邮件检索表单数据,并将其发送到邮件。

最佳答案

您要求的是欺骗电子邮件地址的能力 - 从您服务器上的帐户发送邮件,并使其看起来像是来自其他人。

这是一个坏主意 - 欺骗电子邮件地址会让您很快被列入可疑垃圾邮件发送者或黑客的黑名单,并且许多系统会自动拒绝此类电子邮件。

相反,只需让电子邮件来自您实际使用的地址,并在邮件正文中输入回复应发送至的人员的地址即可。

关于python - 我想通过表单数据发送邮件。我希望接收者固定,发送者仅改变。我怎样才能实现这一点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50190681/

相关文章:

python - matplotlib 绘制所有列的 csv 文件

django cbv 基于 is_staff/is_superuser 从表单中动态排除字段

Django issubclass() arg 1 must be a class error in insering TabularInline at admin 页面

python - 在 celery 中如何获得队列中的任务位置?

python - 按 ip 地址对元组列表进行排序

python - GNU 并行数组参数

python - 没有名为 django-admin C :\Program Files\Python39\python3. exe 的模块

javascript - 带有 Google Recaptcha v3 的 Django 联系表

python - Django 的测试客户端返回编码不正确的 URL

python - 删除组合框项目的按钮