Python 从Django网站接收电子邮件

Python 从Django网站接收电子邮件,python,django,email,yahoo,Python,Django,Email,Yahoo,我想让访问我网站的人能够向我的雅虎邮箱发送电子邮件。我该怎么做?现在,我还没有邮件服务器。有必要吗?这个想法是让发送电子邮件的人填写他的电子邮件、主题和信息,然后将其发布到我的雅虎电子邮件中 def email(request): if request.method == 'GET': form = ContactForm() else: form = ContactForm(request.POST) if form.is_va

我想让访问我网站的人能够向我的雅虎邮箱发送电子邮件。我该怎么做?现在,我还没有邮件服务器。有必要吗?这个想法是让发送电子邮件的人填写他的电子邮件、主题和信息,然后将其发布到我的雅虎电子邮件中

def email(request):
    if request.method == 'GET':
        form  = ContactForm()
    else:
        form = ContactForm(request.POST)
        if form.is_valid():
            subject = request.POST.get['subject']
            email = request.POST.get['email']
            message = request.POST.get['message']
            if subject and email and message:
                try:
                    send_mail(subject, message, email, ['my_email@yahoo.com'], fail_silently=False,)
                except BadHeaderError:
                    return HttpResponse('Invalid header found.')
                return redirect('thanks')
            else:
                return HttpResponse('Make sure to have all fields filled.')
    return render(request,"mywebsit/contact.html", {'form':form})
表单呈现ok,但当我按下send时,它的行为就好像它已经发送了消息,但当我打开我的yahoo mail时,那里没有任何新内容

我读到有必要在
settings.py
中配置一些东西,但是,据我所知,它是用来发送的,而我想要的是接收

尽管如此,我还是试着配置它

EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.mail.yahoo.com'
EMAIL_PORT = 465
EMAIL_HOST_USER = 'email@yahoo.com'
EMAIL_HOST_PASSWORD = 'yahoopassword'
DEFAULT_FROM_EMAIL = 'email@yahoo.com'
DEFAULT_TO_EMAIL = 'email@yahoo.com'
然后我得到的是这个错误:

smtplib.SMTPServerDisconnected:连接意外关闭


我该怎么办?

看起来像是一个网络问题,你在主持你的网站吗?邮件服务器也取决于你的网站获得了多少流量,如果流量很大,那么这是一个好主意,但是如果不仅仅有一个超链接新窗口以向你的雅虎帐户发送电子邮件的HTML代码,也可以做到这一点。

应该是request.post.get('Subject'))


您正在使用[]括号,但它应该是()括号

它尚未托管。我仍然在通过Django开发服务器工具来实现它。但是,嘿,关于新窗口的好主意。哦,好吧,看起来你只是有一个坏端口,但任何时候。如果你还想尝试新的window HTML代码,有一个很棒的网站叫JavaScript工具包。谷歌it他们为你的网站提供了一些很棒的免费模板,你可以用它们来构建网站。祝你的网站好运-邓肯