Python 我的联系人表单在django中工作不正常?

Python 我的联系人表单在django中工作不正常?,python,django,Python,Django,这是一个应用程序,随机用户可以填写联系表,并可以向管理员发送消息。 此代码未向我的电子邮件地址发送电子邮件 错误: 位于/车间/联系人的时间错误/ [WinError 10060]由于连接方在一段时间后没有正确响应,连接尝试失败,或者由于连接主机没有响应,建立的连接失败 models.py class Contact(models.Model): name = models.CharField(max_length=50) email = models.EmailField()

这是一个应用程序,随机用户可以填写联系表,并可以向管理员发送消息。 此代码未向我的电子邮件地址发送电子邮件

错误: 位于/车间/联系人的时间错误/ [WinError 10060]由于连接方在一段时间后没有正确响应,连接尝试失败,或者由于连接主机没有响应,建立的连接失败

models.py

class Contact(models.Model):
    name = models.CharField(max_length=50)
    email = models.EmailField()
    phone = models.CharField(max_length=15)
    subject = models.CharField(max_length=100)
    message = models.TextField()

    def __str__(self):
        return self.subject
views.py

def contact(request):
    if request.method == "POST":
        form = ContactForm(request.POST)
        if form.is_valid():
        subject = form.cleaned_data['subject']
        message = form.cleaned_data['message']
        email = form.cleaned_data['email']
        #subject = form['subject'].value() tried this also
        #message = form['message'].value()
        #email = form['email'].value()
        recipients = [settings.EMAIL_HOST_USER]
        send_mail(subject, message, email, recipients,fail_silently=False)
            form.save()
            messages.success(request,'Message Sent.')
            return redirect('shop:contact')
        else:
            messages.error(request,'Error in Form')
    else:
        form = ContactForm()
    return render(request,'shop/contact.html',{'form':form})
forms.py

class ContactForm(forms.ModelForm):
    class Meta:
        model = Contact
        fields = ['name','phone','email','subject','message']
contact.html

{% extends "shop/base.html" %}
{% load bootstrap4 %}

<title>{% block title %}Contact{% endblock %}</title>

{% block content %}
 <center>{% bootstrap_messages %}</center>
<div class="container">
    <div class="row">
        <div class="col-lg-4 offset-lg-4 col-sm-10 offset-sm-1">
            <div class="card my-5">

                <div class="card-header text-center">
                   Contact
                </div>
                <div class="card-body">
                    <form action="" method="post">
                        {% csrf_token %}
                        {% bootstrap_form form %}
                        <input type="submit" class="btn btn-success text-center w-100 mb-3" value="Contact">
                    </form>

                </div>
            </div>
        </div>
    </div>
</div>

{% endblock %}

你有没有试着让你的发送邮件功能大声失败?请将
send\u mail
函数的
fail\u silent
参数更改为
False
以查看问题。我使用了fail\u silent=False,结果也是你应该使用的
form\u data['subject']
等参数,而不是
form['subject']
。您正在使用
表单。已清理的数据['email']
作为电子邮件中的
。许多电子邮件提供商不允许您这样做。您应该从电子邮件帐户拥有的地址发送电子邮件,例如
youremail@gmail.com
,如果您希望回复转到其他地址,请使用该选项。您是否尝试让“发送邮件”功能大声失败?请将“发送邮件”功能的
参数更改为
False
,以查看问题。我使用了fail\u silent=False,结果也是您应该使用的结果
form\u cleaned\u data['subject']
etc,而不是
form['subject'].value()
。您正在使用
form.cleaned\u data['email']
作为电子邮件中的
。许多电子邮件提供商不允许您这样做。您应该从电子邮件帐户拥有的地址发送电子邮件,例如
youremail@gmail.com
,如果希望回复转到其他地址,请使用该选项。
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'myemailaddress'
EMAIL_HOST_PASSWORD = 'mypassword'
EMAIL_POST = '587'