【问题标题】:Achieving emailing between website users without "Mailing Server" configuring?在没有“邮件服务器”配置的情况下实现网站用户之间的电子邮件?
【发布时间】:2010-10-03 20:26:42
【问题描述】:

我有这样的要求,网站的每个用户 将邮寄任何其他用户,我有该通信的规则 (暂时将它们放在一边)。因此 user1 将选择一个电子邮件 ID,例如: mypickeduser1n...@sitedomain.com 并将发送电子邮件至 user2,其电子邮件 ID 如下: mypickeduser2n...@sitedomain.com。这样任何数量的用户都会 向任意数量的用户发送电子邮件。任何局外人都应该 能够向 mypickeduser2n...@sitedomain.com 发送电子邮件。我的问题 是,所以在这种情况下,我是否需要建立自己的 smtp(setup mailing) 服务器。我完全是 smtp 领域的新手。我能达到 没有“邮件服务器”的用户之间的电子邮件通信 配置? 这可以实现吗?

【问题讨论】:

  • 歧义:您将来自外部的邮件列为要求,但随后询问是否可以在没有邮件服务器的情况下使用内部邮件。请更清楚地说明是内部+外部还是仅内部设置。

标签: django email


【解决方案1】:

如果您希望用户能够在 Django 中创建电子邮件帐户,您需要 Django、您的 MTA 和您的 IMAP/POP 服务器使用相同的用户帐户数据库。

我已成功使用以下设置:

  • PostgreSQL 作为用户数据库
  • Postfix 作为 MTA
  • Dovecot 作为 IMAP 服务器
  • 作为用户帐户管理前端的自定义 Django 应用
  • 虚拟邮件用户帐户(不使用 Unix 帐户)

我只使用 Django 管理界面让管理员管理邮件帐户,但用户管理 UI 也很容易实现。

此类设置的一些提示和信息来源:

  • 仔细设计您的数据库架构。我基于下面提到的 howtos 进行了修改,以便于 Django 集成。
  • 请注意所有组件对用户密码使用相同的加密。
  • 两个 howtos(firstsecond)描述了 Dovecot 和 Postfix 如何使用 PAM 和 PostgreSQL 作为后端对用户进行身份验证
  • howto in German 用于 Dovecot/Postfix/PostgreSQL
  • howto 用于将 Debian 的虚拟用户/域支持、带有 SMTP AUTH 的 Postfix 2、带有用于 Postfix、PostgreSQL 和 Dovecot 的 libpam-pgsql 的 SASL2 粘合在一起
  • Postfix PostgreSQL howto

您可能还想查看使用 Dovecot/Postfix/PostgreSQL 设置管理域、帐户和别名的 Virtual Mail Manager 命令行工具。

【讨论】:

  • 你如何绑定 Django 和 Postfix(或任何其他 MTA,如 sendmail)?
【解决方案2】:

有一些 django 应用程序可以处理用户之间的消息传递,但唯一似乎处于活动状态的是:

django-messages

这为您提供了您所要求的所有功能,除了能够向用户发送邮件的外部人员。

这是一个更难的问题,并且肯定需要一个邮件服务器和大量自定义代码。

【讨论】:

    【解决方案3】:

    您需要一个邮件服务器。即使本地电子邮件只是直接存放在某个地方的邮件目录或数据库中,也必须有一些东西负责接受来自外部世界的电子邮件。我推荐 postfix - 它功能强大但易于设置,并且配置文件看起来不像 Klingon。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-06
      • 1970-01-01
      • 2013-11-13
      • 2014-08-11
      • 2019-01-24
      • 1970-01-01
      • 2010-11-04
      相关资源
      最近更新 更多