Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 发送到错误帐户的电子邮件_Python_Django - Fatal编程技术网

Python 发送到错误帐户的电子邮件

Python 发送到错误帐户的电子邮件,python,django,Python,Django,我建立了一个发送电子邮件的联系方式。我只是有点麻烦,关于它被发送到的帐户。我希望电子邮件从“发送”servwishes@gmail.com发送至“联系电子邮件”。 现在,电子邮件正在从“联系人电子邮件”转到servwishes@gmail.com“ my views.py如下所示: def contact(request): Contact_Form = ContactForm if request.method == 'POST': form = Contact

我建立了一个发送电子邮件的联系方式。我只是有点麻烦,关于它被发送到的帐户。我希望电子邮件从“发送”servwishes@gmail.com发送至“联系电子邮件”。 现在,电子邮件正在从“联系人电子邮件”转到servwishes@gmail.com“

my views.py如下所示:

def contact(request):
    Contact_Form = ContactForm
    if request.method == 'POST':
        form = Contact_Form(data=request.POST)

        if form.is_valid():
            contact_name = request.POST.get('contact_name')
            contact_email = request.POST.get('contact_email')
            contact_content = request.POST.get('content')

            template = get_template('users/contact_form.txt')
            context = {
                'contact_name' : contact_name,
                'contact_email' : contact_email,
                'contact_content' : contact_content,
            }

            content = template.render(context)

            email = EmailMessage(
                "New contact form email",
                content,
                "Creative web" + '',
                ['servwishes@gmail.com'],
                headers = { 'Reply To': contact_email }
            )

            email.send()


    return render(request, 'users/contact.html', {'form':Contact_Form })
我的setting.py看起来像:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'servwishes@gmail.com' 
EMAIL_HOST_PASSWORD = '*******'
EMAIL_PORT = 587
EMAIL_USE_TLS = True

如果查看参数的顺序并将其从位置转换为关键字,则当前有:

        email = EmailMessage(
            subject="New contact form email",
            body=content,
            from_email="Creative web" + '',
            to=['servwishes@gmail.com'],
            headers = { 'Reply To': contact_email }
        )
我认为这里有几个问题。我想你可能想做:

from_email='"Creative web" <servwishes@gmail.com>'
from_email=''Creative web''
但是因为你没有得到它,它把你的位置参数的顺序弄乱了

收件人应为
To=联系\u电子邮件


另一个问题是,我认为您误解了“回复”标题。当收件人点击回复按钮时,电子邮件将被发送回收件人。这不是您要向谁发送电子邮件。

Gmail将用经过身份验证的用户地址替换发件人地址。由于您可能在匹配位置参数时遇到问题,请尝试使用关键字参数进行所有操作。感谢您的反馈!我还是很难理解,你是在建议这样的事情吗?email=EmailMessage(“新联系人表单email”,内容,从“'Creative web””,到“=contact\u email,headers={'Reply to':contact\u email}”)我非常感谢您的反馈!是的,请告诉我这是否对您有效,但我认为“回复”可能是
servwishes@gmail.com
所以您并不真正需要它。如果您从一个地址发送电子邮件,但希望将回复发送回另一个地址,则只需要“回复”。谢谢,如果这回答了您的问题,请将其标记为已接受的答案。祝你万事如意!