用于简化邮件帐户管理的django应用程序。

django_maccman的Python项目详细描述


maccman是一个可重用的django应用程序,可以方便地管理电子邮件帐户、邮箱和别名。maccman目前正在进行大量开发,不适合生产使用。

支持说明

目前,mailman只在postgresql上进行测试和开发。有一些特定的代码片段假定postgresql用作后端。这将在未来发生变化。

要求

  • PostgreSQL 9.0或更高版本,为所需数据库激活PGCrypto(使用9.5测试)
  • Django密码域(通过PIP提供)

快速启动

  1. 确保您使用的是PostgreSQL 9.0或更高版本(使用9.5进行测试)

  2. 将Mailman应用程序添加到您的项目中

    INSTALLED_APPS = [
        ...,
        'maccman',
    ]
    
  3. 运行/manage.py migrate创建所需的模型和视图

  4. 启动开发服务器并连接到管理界面。从那里您可以配置别名、邮箱等。

  5. 配置postfix和dovecot实例以使用以下视图:

  • postfix_alias (Contains alias to destination mappings)
  • postfix_domain (Contains all active domains)
  • postfix_mailbox (Contains all active mailboxes
  • dovecot_iterate (Contains all active users)
  • dovecot_password (Contains username to password mappings for all active users)
  • dovecot_user (Contains address to maildir mappings for all active users)

多夫科特

maccman使用postgresql内置的加密功能来保护用户密码。因此,您需要让数据库验证密码。为此,您需要在Dovecot SQL语句中使用以下where子句:

WHERE user = '%u' AND password = crypt('%w', password);

这允许数据库后端验证密码,并且只在密码匹配时作为用户返回。除此where子句外,还需要选择以下字段:

... NULL AS password, 'Y' AS nopassword ...

有关详细信息,请参阅优秀的Dovecot文档

许可证

MacCMAN是根据3条款BSD许可证的条款和规范发布的

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在Android中维护应用程序状态   javajavacc:如何指定在特定上下文中需要哪些令牌?   java为什么改型会在重新加载数据时设置以前的响应?   java如何将键转换为字符串,反之亦然   java JDOM解析器插入#固定手动属性   java按元素对XML数据排序?   java Android中有哪些哈希算法?   java为什么使用可选返回类型进行单元测试失败?   Gson和argonauts使用Gson将javascript数组转换为json字符串并转换为javapojo时遇到的问题。试图让我的结构正确   java中的空格   java SQLite高分,草率IndexOutofBounds Android   使用Spring OAUTH2的java Make客户端   netbeans如何在java中创建一个JPopupMenu,其中包含一个要复制文本的项