0

我跟着 The Django Book 到了第 7 章。当我尝试联系的例子时,我遇到了这个邮件发送错误。

有谁知道如何解决这一问题?

这是错误信息:

/contact/ 出现错误
[Errno 10061]
请求方法:POST

Request URL:    http://127.0.0.1:8000/contact/<br>

Django 版本:1.5
异常类型:错误
异常值:[Errno 10061]
异常位置:C:\Python27\lib\socket.py in create_connection,第 571 行
Python 可执行文件:C:\Python27\python.exe
Python 版本:2.7.2
Python 路径:
['D:\Workspace\DJhello',
'D:\Workspace\DJhello',
'D:\Workspace\DJhello\src',
'C:\Python27\DLLs',
'C:\Python27\lib' ,
'C:\Python27\lib\plat-win',
'C:\Python27\lib\lib-tk',
'C:\Python27',
'C:\Python27\lib\site-packages',
'C: \Python27\lib\site-packages\win32',
'C:\Python27\lib\site-packages\win32\lib',
'C:\Python27\lib\site-packages\Pythonwin',
'C:\Python27\lib\site-packages\setuptools-0.6c11-py2.7.egg-info',
'C:\Windows\system32\python27.zip']
服务器时间: Thu, 14 Mar 2013 12:08 :14 +0800enter code here

这是我的代码:

def contact(request):
    errors = []
    if request.method == 'POST':
        if not request.POST.get('subject', ''):
            errors.append('Enter a subject.')
        if not request.POST.get('message', ''):
            errors.append('Enter a message.')
        if request.POST.get('email') and '@' not in request.POST['email']:
            errors.append('Enter a valid e-mail address.')
        if not errors:
            send_mail(
                request.POST['subject'],
                request.POST['message'],
                request.POST.get('email', 'noreply@example.com'),
                ['siteowner@example.com'],
            )
            return HttpResponseRedirect('/contact/thanks/')
    return render_to_response('contact_form.html',
        {'errors': errors, 
        'subject': request.POST.get('subject', ''),
        'message': request.POST.get('message', ''), 
        'email': request.POST.get('email', '')}, 
        context_instance=RequestContext(request))
4

2 回答 2

0

检查您的电子邮件设置是否正确:

设置.py:

DEFAULT_FROM_EMAIL = "youremail@gmail.com"

EMAIL_HOST = "smtp.gmail.com"

EMAIL_HOST_USER = "你的邮箱@gmail.com"

EMAIL_HOST_PASSWORD = "你的邮箱账户密码"

电子邮件端口 = 587

EMAIL_USE_TLS = 真

据我所知,这些是 gmail 的设置。

于 2015-05-27T17:00:59.723 回答
-1

在您发送邮件之前,您必须在您的 : 中设置一些变量settings.py

EMAIL_HOST = 'smtp.163.com' # replace with your smtp server's address
EMAIL_POST = 25 # replace with your smtp server's port
EMAIL_HOST_USER = 'username' # replace with your smtp server account username
EMAIL_HOST_PASSWORD = 'abc' # replace with your smtp server account password

注意:您应该有一个 smtp 服务器或一个 smtp 服务器帐户。

如何获得免费的 smtp 服务器帐户? 本网站提供免费的 smtp 服务。

也许您想深入研究 django 文档,https: //docs.djangoproject.com/en/dev/ref/settings/#std:setting-EMAIL_HOST

于 2013-12-31T08:31:08.990 回答