2017-02-08 10 views
0

私は会社のローカルホストアドレスでdjangoでメールを送信しています。フォームからデータを取得して送信すると、端末に表示されますが、受信トレイには表示されません。私は会社とGmailの両方のメールをチェックしましたが、結果は同じです。djangoがメールを受信トレイに表示しない

#settings 
    EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' 
    EMAIL_HOST_USER = '---' 
    EMAIL_HOST_USERNAME = '' 
    EMAIL_HOST_PASSWORD = '' 
    EMAIL_PORT = 25 
    EMAIL_USE_TLS = False 

ビュー

def contact(request): 
    title = "Content" 
    form = contactForm(request.POST or None) 

    context = {'title': title, 'form': form,} 

    if form.is_valid(): 
     name = form.cleaned_data['name'] 
     comment = form.cleaned_data['comment'] 

     subject = "Thanks" 
     message = "%s %s" % (comment, name) 
     emailTo = [form.cleaned_data['email']] 
     emailFrom = settings.EMAIL_HOST_USER 
     send_mail(
       subject, 
       message, 
       emailFrom, 
       emailTo, 
       fail_silently=False, 
     ) 
     title = "Thanks" 
     confirm_message = "Thanks for the message. We will get right back to you." 

    template = "contact.html" 
    return render(request,template,context) 

inTerminal

------------------------------------------------------------------------------- 
    [08/Feb/2017 07:53:13] "POST /contact/ HTTP/1.1" 200 7666 
    MIME-Version: 1.0 
    Content-Type: text/plain; charset="utf-8" 
    Content-Transfer-Encoding: 7bit 
    Subject: #subject 
    From: #host address 
    To: #receiver address 
    Date: Wed, 08 Feb 2017 07:53:20 -0000 
    Message-ID: <-----.----.---- @natiq-macbook-pro.local> 

    # Message 
    ------------------------------------------------------------------------------- 

編集 - トレースバックは

Traceback: 

File "/Users/natigvahabov/Desktop/Django/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner 


39.    response = get_response(request) 

File "/Users/natigvahabov/Desktop/Django/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response 
    187.     response = self.process_exception_by_middleware(e, request) 

File "/Users/natigvahabov/Desktop/Django/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response 
    185.     response = wrapped_callback(request, *callback_args, **callback_kwargs) 

File "/Users/natigvahabov/Desktop/Django2/src/contact/views.py" in contact 
    29.     fail_silently=False, 

File "/Users/natigvahabov/Desktop/Django/lib/python2.7/site-packages/django/core/mail/__init__.py" in send_mail 
    62.  return mail.send() 

File "/Users/natigvahabov/Desktop/Django/lib/python2.7/site-packages/django/core/mail/message.py" in send 
    342.   return self.get_connection(fail_silently).send_messages([self]) 

File "/Users/natigvahabov/Desktop/Django/lib/python2.7/site-packages/django/core/mail/backends/smtp.py" in send_messages 
    100.    new_conn_created = self.open() 

File "/Users/natigvahabov/Desktop/Django/lib/python2.7/site-packages/django/core/mail/backends/smtp.py" in open 
    58.    self.connection = connection_class(self.host, self.port, **connection_params) 

File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/smtplib.py" in __init__ 
    256.    (code, msg) = self.connect(host, port) 

File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/smtplib.py" in connect 
    316.   self.sock = self._get_socket(host, port, self.timeout) 

File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/smtplib.py" in _get_socket 
    291.   return socket.create_connection((host, port), timeout) 

File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py" in create_connection 
    575.   raise err 

Exception Type: error at /contact/ 
Exception Value: [Errno 61] Connection refused 
+3

'console.EmailBackend'の点であること:電子メールがに送信されますコンソール、他の場所ではありません!そのため、デバッグの目的でのみ開発時に使用します。どのようにメールサーバーの設定をせずに実際のメールを送信するのですか? – schwobaseggl

+0

ありがとうございます。 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EDITで見つかるエラーが表示されます –

+0

EMAIL_HOST_PASSWORDとEMAIL_HOST_USERを指定しましたか? –

答えて

0

私はあなたのsmtp Gmailを利用できるようにしたい場合は、この設定を次のようにあなたを示唆しています。

あなたsettings.py

でこの設定をこの設定を追加します。あなたはsmtp.gmail.comで動作する場合は、他のSMTPが構成と似ています。

  1. はCapthaのロックを解除:アクティブにhttps://accounts.google.com/DisplayUnlockCaptcha
  2. 変更:https://www.google.com/settings/security/lesssecureapps

EMAIL_HOST = 'smtp.gmail.com' 
EMAIL_PORT = 587 
EMAIL_HOST_USER = '[email protected]' 
EMAIL_HOST_PASSWORD = 'your_password' 
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER 
EMAIL_USE_TLS = True 
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' 
関連する問題