后纤维与多维
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是免费软件,对建议和贡献开放。全部 组件是免费软件,与麻省理工学院的许可证兼容。全部 代码放在麻省理工学院的许可证下。