3

我有一个本地运行的 Django 应用程序,我想测试“ send_mail() ”功能。目前,我可以在终端中使用以下命令打开 postfix:

sudo postfix start

打开 postfix 后,我在终端中运行以下命令:

telnet localhost 25

这两个步骤似乎有效,因为“send_mail()”函数不会失败或导致异常。不幸的是,我不确定接下来应该怎么做才能看到它发送的电子邮件。我尝试将 Mail.app 配置为连接到本地主机,但没有这样的运气。

有没有人知道我接下来需要做什么才能看到 postfix 发送的电子邮件?

4

4 回答 4

6

您可以尝试使用 django 电子邮件测试服务器吗?

请参阅http://docs.djangoproject.com/en/dev/topics/email/#testing-e-mail-sending上的文档

电子邮件只会在您发送时列出。

于 2010-06-21T15:58:54.593 回答
2

Postfix 将尝试将邮件传递到您指定的系统。这可能由于各种原因而失败,例如:

  1. 地址不存在。
  2. 远程邮件服务器拒绝了它。
  3. 您的 ISP 阻止端口 25 出站,因此 postfix 无法提供任何内容。

mailq您可以使用 sendmail 别名(必须是)查看排队的邮件sudo。Postfix 还保留了详细的日志/var/log

如果您要发送到@localhost,您还需要在系统上设置一个 POP3 或 IMAP 服务器,Mail.app以便能够阅读电子邮件。不使用 Mail.app,您可以找到系统邮件假脱机(/var/mail是一个常见的地方)。

于 2010-06-21T16:00:18.847 回答
1

电子邮件测试服务器很棒,但很难预览 html 电子邮件。无耻的插件,但我已经开发了一个应用程序来帮助它。

将它添加到您的 INSTALLED_APPS 并将 EmailBackend 指向它,您就完成了。电子邮件将存储在数据库中,您可以在管理员中查看它们,包括 HTML 多部分。

于 2010-06-21T21:18:40.580 回答
1

查看 postfix 的日志或邮件队列。如果消息在队列中堆积,那么接下来要做的是配置您的后缀以将消息转发到远程 MTA...这是一个 serverfault.com 问题;)。

于 2010-06-21T15:58:38.697 回答