在没有“邮件服务器”配置的情况下实现网站用户之间的电子邮件?

时间:2009-01-27 19:49:58

标签: django email email-integration

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

3 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:2)

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

我已成功使用以下设置:

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

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

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

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

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

答案 2 :(得分:1)

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

django-messages

这为您提供了所要求的所有功能,但外人可以向用户发送邮件。

这是一个更难的问题,您肯定需要一个邮件服务器和许多自定义代码。