后纤维与多维

podop的Python项目详细描述


podop是一个中间件,设计用于在postfix或dovecot之间运行 一方面,在 另一边。

因此,它可以将postfix地图和dovecot dict转发到同一位置 (或多个)后端,以便编写单个、更灵活的后端。 用于邮件分发。

示例

  • 将postfix连接到dns查找,以便每个具有正确mx的域 记录到postfix实际上被接受为本地域
  • 将postfix和dovecot连接到http微服务以运行高 提供基于微服务的邮件服务
  • 使用单个数据库服务器运行与python兼容的api 您的Postfix和Dovecot服务器

配置podop表

podop表是在运行服务器时通过cli参数配置的。 必须为表提供--name,为表提供--type,并且 参数化映射的--param

URL表

url表将启动读取访问的http get请求和http 对表的写访问的POST请求。该表用参数化 包含用于插入表键的§(或{})的模板url。

--name test --type url --param http://microservice/api/v1/map/tests/§

get请求应该返回200和json编码的对象 将传递给postfix或dovecot。他们应该返回4XX 对于将导致查找失败的访问问题,对于后端,5XX 会导致暂时失败的问题。

post请求将在请求体中包含一个json编码的对象 将保存在表中。

后缀用法

为了从postfix访问podop表,应该设置socketmap 后缀映射。例如,为了访问podop上的test表 插座位于/tmp/podop.socket,请使用以下设置:

virtual_alias_maps = socketmap:unix:/tmp/podop.socket:test

可以为各种用途配置多个映射或相同的映射。

virtual_alias_maps = socketmap:unix:/tmp/podop.socket:alias
virtual_mailbox_domains = socketmap:unix:/tmp/podop.socket:domain
virtual_mailbox_maps = socketmap:unix:/tmp/podop.socket:alias

为了简化配置,可以设置快捷方式。

podop = socketmap:unix:/tmp/podop.socket
virtual_alias_maps = ${podop}:alias
virtual_mailbox_domains = ${podop}:domain
virtual_mailbox_maps = ${podop}:alias

Dovecot用法

为了从dovecot访问podop表,您应该设置一个proxy 多夫科特词典。例如,为了访问 位于/tmp/podop.socket的podop套接字,使用以下设置:

mail_attribute_dict = proxy:/tmp/podop.socket:test

可以为各种用途配置多个映射或相同的映射。

mail_attribute_dict = proxy:/tmp/podop.socket:meta

passdb {
  driver = dict
  args = /etc/dovecot/auth.conf
}

userdb {
  driver = dict
  args = /etc/dovecot/auth.conf
}

# then in auth.conf
uri = proxy:/tmp/podop.socket:auth
iterate_disable = yes
default_pass_scheme = plain
password_key = passdb/%u
user_key = userdb/%u

贡献

podop是免费软件,对建议和贡献开放。全部 组件是免费软件,与麻省理工学院的许可证兼容。全部 代码放在麻省理工学院的许可证下。

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

推荐PyPI第三方库


热门话题
Java例外。Lang.Stringindexoutofboundsexception索引超出范围(0)   java Spring引导Freemarker从2.2.0升级失败   重构Java反模式名称?包含对象的对象包含。。。等   用java处理JDBC可能出现的死锁的最佳方法   java无法访问主线程上的数据库,因为它可能会在很长一段时间内锁定UI   java如何将固定大小的画布包装在边框窗格中的滚动窗格居中?   java解析xsd文件后得到空结果   在html页面中表示XML文件的java   socketjava对象流   sql Java越界异常数据库   JavaJBoss7.1.1不会在Mavericks上启动   Twincat ADS事件驱动读取在一段时间后停止工作(Java)   java MyBatis使用生成的ID插入所有   Mojave上缺少MacOS Java控制面板   JavaGuice:如果多次注入相同的依赖项,是否注入了该依赖项的相同实例?