Django 电子邮件客户端

标签 django email

我一直觉得 Django 电子邮件的行为就像电子邮件客户端,这就是为什么您必须指定 EMAIL_HOST、EMAIL_HOST_PASSWORD 和 EMAIL_HOST_USER。然后,Django 应用程序的行为就像一个普通的电子邮件客户端,就像 Outlook 或 Apple 邮件一样......

我正在测试一个必须每隔一段时间发送一次电子邮件的应用程序。但是当我在我的应用程序中执行这些语句时:

subject, from_email, to = 'hello', 'noreply@dummy.com', 'dummy@gmail.com'
text_content = 'This is an important message.'
html_content = '<p>This is an <strong>important</strong> message.</p>'
msg = EmailMultiAlternatives(subject, text_content, from_email, [to])
msg.send()

我正在……

Traceback (most recent call last):
File "<console>", line 1, in <module>
.
.
SMTPRecipientsRefused: {'dummy@gmail.com': (504, '5.5.2 <wmsdesktop>: Helo command rejected: need fully-qualified hostname')}

其中wmsdesktop是我的开发系统的名称。从这个错误中,我得到的印象是 Django 应用程序的行为就像一个 smtp 服务器。

或者我在这里遗漏了什么。请阐明这一点...

最佳答案

每个电子邮件“客户端”在发送电子邮件时都使用 SMTP。

SMTP 是发送电子邮件的方式。

所以是的,Django 在发送电子邮件时充当 SMTP 客户端,而不是电子邮件(POP 或 IMAP)客户端。

看起来您正在使用的 STMP 服务器将访问限制为仅具有完全限定域名 (example.com) 的其他 SMTP 服务器,该域名可以通过反向 DNS 查找进行验证。

这是 SMTP 服务器的一种非常常见的做法,因为它有助于消除匿名 SMTP 服务器,这些服务器通常用于发送垃圾邮件。

一般来说,此限制不适用于经过身份验证的用户,尽管这取决于 SMTP 服务器。

关于Django 电子邮件客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15422627/

相关文章:

python - Django 单元测试客户端响应具有空上下文

python - 如何在 Bluemix 中使用 D'jango 通过 Python 创建项目和应用程序

email - 如何从 vbs 脚本发送电子邮件

ruby-on-rails - ActionMailer 不发送在 Fake_sqs 中排队的电子邮件

email - Keycloak 在电子邮件主题模板中添加用户名

python - 无法让 Django 本地化工作

python - 获取 json 请求的 Django 问题

python - 如何在原始 SQL 中引用当前对象(OF 对象)

javascript - 在 javascript 中添加参数 cc 和 bcc blackberry.invoke.MessageArguments

android - 如何在android中创建忘记密码?