django发送电子邮件未显示在收件箱中

时间:2017-02-08 08:18:31

标签: django sendmail

我发送带有公司本地主机地址的django的电子邮件。当我从表单获取数据并发送它们时,它会显示在终端中,但不会在收件箱中显示。我检查了公司和gmail的电子邮件,结果是一样的。

#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

1 个答案:

答案 0 :(得分:0)

如果你想使用smtp gmail,我建议你遵循这个配置。

settings.py

中添加此配置
  

此配置适用于smtp.gmail.com,其他smtp与配置类似。

  1. 解锁Captha:https://accounts.google.com/DisplayUnlockCaptcha
  2. 更改为有效:https://www.google.com/settings/security/lesssecureapps
  3. EMAIL_HOST = 'smtp.gmail.com'
    EMAIL_PORT = 587
    EMAIL_HOST_USER = 'your_gmail@gmail.com'
    EMAIL_HOST_PASSWORD = 'your_password'
    DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
    EMAIL_USE_TLS = True
    EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'