0

The Django Bookを7章までたどりました。連絡先の例を試していたところ、このメール送信エラーに遭遇しました。

これを修正する方法を知っている人はいますか?

エラー情報は次のとおりです。

error at /contact/
[Errno 10061]
Request Method: POST

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

Django バージョン: 1.5
例外タイプ: エラー
例外値: [Errno 10061]
例外の場所: create_connection の C:\Python27\lib\socket.py、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']
サーバー時間: 2013 年 3 月 14 日 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

メール設定が正しいことを確認します。

settings.py:

DEFAULT_FROM_EMAIL = "youremail@gmail.com"

EMAIL_HOST = "smtp.gmail.com"

EMAIL_HOST_USER = "youremail@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 に答える