从联系人表单发送邮件后,gmail出错。Django 2.1.5版

2024-04-19 05:15:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我从pythonanywhere发送消息,但我的gmail将与我的电子邮件一起发送消息,作为发件人电子邮件(from\u email=to\u email)。你知道吗

表单.py

class ContactForm(forms.Form):
    subject = forms.CharField()
    contact_email = forms.EmailField()
    content = forms.CharField(widget=CKEditorUploadingWidget()

视图.py

def contact(request):
    if request.method == 'GET':
        form = ContactForm()
    else:
        form = ContactForm(request.POST)
        if form.is_valid():
            subject = form.cleaned_data['subject']
            from_email = form.cleaned_data['contact_email']
            content = form.cleaned_data['content']

            try:
                send_mail(subject, content, from_email, ['****@gmail.com'], )
            except BadHeaderError:
                return HttpResponse('Invalid header found.')
            return redirect('thanks')
    return render(request, 'contact.html', {'form': form})

设置.py

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

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

的所有设置gmail.com已启用

在邮件详细信息中,我找到了真正的gmail发件人(在X-google-original-from中) 我想把它从你的邮箱里放进去

enter image description here


Tags: frompyformcomhostemailrequestcontact
1条回答
网友
1楼 · 发布于 2024-04-19 05:15:11

Thnx@9769953&;@dirkgroten寻求帮助。你知道吗

视图.py

def contact(request):
    if request.method == 'GET':
        form = ContactForm()
    else:
        form = ContactForm(request.POST)
        if form.is_valid():
            subject = form.cleaned_data['subject']
            contact_name = form.cleaned_data['contact_name']
            from_email = form.cleaned_data['contact_email']
            content = form.cleaned_data['content']

            # try:
            msg = EmailMessage(subject, "От: " + from_email + ' (' + (contact_name) + ")\n\n" + content, from_email, ['****@gmail.com'])

            msg.send()

            # except BadHeaderError:
            #     return HttpResponse('Invalid header found.')
            return redirect('thanks')
    return render(request, 'contact.html', {'form': form})

相关问题 更多 >