2013-03-14 6 views
0

Я следил за книгой Django в главе 7. Когда я пытался использовать пример контакта, я встретил эту ошибку отправки почты.Ошибка отправки почты Django: [Ошибка 10061]

Кто-нибудь знает, как это исправить?

Здесь информация об ошибке:

ошибка при/контакта/
[Errno 10061]
Запрос Метод: POST

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

Джанго Версия: 1.5
Исключение Тип: ошибка
Исключительное значение: [Errno 10061]
Исключение Место: C: \ Python27 \ lib \ socket.py в crea te_connection, линия 571
Python Исполняемые: C: \ python27 \ python.exe
Python Версия: 2.7.2
Python Путь:
[ 'D: \ Workspace \ DJhello',
«D: \ Workspace \ DJhello '
'D: \ Workspace \ DJhello \ ЦСИ',
'C: \ python27 \ DLL,'
'C: \ python27 \ Lib',
' C: \ python27 \ Lib \ плат- 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 \ сайт-пакеты \ Pythonwin',
'C: \ python27 \ Lib \ сайт-пакеты \ Setuptools-0.6c11-py2.7.egg-инфо',
«C: \ Windows \ system32 \ python27.zip '] время
Сервер: Чт, 14 Mar 2013 12:08:14 +0800 enter 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', '[email protected]'), 
       ['[email protected]'], 
      ) 
      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)) 
+1

Ваш почтовый сервер работает и ждет r на указанном IP-порту и порту? – Rohan

+1

У вас есть настройки электронной почты в ваших настройках? – catherine

ответ

-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?This site offers free smtp services.

Может быть, вы хотите, чтобы копаться в Джанго документы, https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-EMAIL_HOST

0

Проверьте ваши настройки электронной почты являются правильными:

settings.py:

DEFAULT_FROM_EMAIL = "[email protected]"

EMAIL_HOST = "smtp.gmail.ком»

EMAIL_HOST_USER = "[email protected]"

EMAIL_HOST_PASSWORD = "yourpasswordforyouremailaccount"

EMAIL_PORT = 587

EMAIL_USE_TLS = True

Эти настройки для Gmail как насколько я знаю.

Смежные вопросы