【问题标题】:how to send email in django? [duplicate]如何在 django 中发送电子邮件? [复制]
【发布时间】:2012-01-26 23:59:34
【问题描述】:

可能重复:
Django - [Errno 111] Connection refused

我找到了一个关于如何使用 django 发送电子邮件的链接:https://docs.djangoproject.com/en/dev/topics/email/ 我按照这个例子得到了这个:

>>> from django.core.mail import send_mail
>>> send_mail('dfdf', 'dfdfdf', 'logadrinab@agile.com.ph', ['ddcahanap@agile.com.ph'])
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/django/core/mail/__init__.py", line 61, in send_mail
    connection=connection).send()
  File "/usr/local/lib/python2.7/dist-packages/django/core/mail/message.py", line 251, in send
    return self.get_connection(fail_silently).send_messages([self])
  File "/usr/local/lib/python2.7/dist-packages/django/core/mail/backends/smtp.py", line 79, in send_messages
    new_conn_created = self.open()
  File "/usr/local/lib/python2.7/dist-packages/django/core/mail/backends/smtp.py", line 42, in open
    local_hostname=DNS_NAME.get_fqdn())
  File "/usr/lib/python2.7/smtplib.py", line 239, in __init__
    (code, msg) = self.connect(host, port)
  File "/usr/lib/python2.7/smtplib.py", line 295, in connect
    self.sock = self._get_socket(host, port, self.timeout)
  File "/usr/lib/python2.7/smtplib.py", line 273, in _get_socket
    return socket.create_connection((port, host), timeout)
  File "/usr/lib/python2.7/socket.py", line 571, in create_connection
    raise err
error: [Errno 111] Connection refused
>>> 

我认为是因为 EMAIL_HOST 和 EMAIL_PORT,如果是这样的话 我在哪里可以找到它以及如何使用它?如果不是,谁能告诉我如何在 django 中发送电子邮件?

提前谢谢...

【问题讨论】:

标签: python django sendmail


【解决方案1】:

在项目的settings.py 中,确保设置EMAIL_HOSTEMAIL_PORT 和其他设置(例如,如果您的主机需要身份验证,则为用户名或密码)。

另外,请确保您使用manage.py shell 命令运行控制台,而不是您正常的python shell,以便 django 正确加载设置。

【讨论】:

    【解决方案2】:

    您收到错误消息,因为您的系统上没有安装邮件传输代理。

    你只需要在默认配置中安装postfix包(安装过程中会问你一些问题,选择默认即可)。

    并且无需更改您的配置或settings.py 或其他任何内容。

    【讨论】:

      【解决方案3】:

      您需要为您当前的主机正确配置SMTP email backend,并像刚才那样以交互方式对其进行测试。

      他们可能正在使用 TLS 或备用端口 - 您应该在您的帐户设置中查找它。或者,如果您没有其他选择,您可以将 Django 配置为使用远程服务主机,例如 Gmail,让自己开始。

      【讨论】:

        【解决方案4】:

        你是对的,你需要在 settings.py 中指定正确的主机和端口。 你要使用什么服务器?例如,如果它是您的托管服务提供商的服务器,最好联系托管支持以获取此信息。

        【讨论】:

          猜你喜欢
          • 2020-05-03
          • 2018-07-24
          • 2011-04-04
          • 2023-04-10
          • 1970-01-01
          • 2020-01-24
          • 2012-04-26
          • 2015-06-10
          相关资源
          最近更新 更多