Dovecot 2.0.7 登录后脚本未获取 plain_pass

Dovecot 2.0.7 登录后脚本未获取 plain_pass

我们目前正在设置一个登录后脚本,将凭据传递给一个脚本,用于将邮件同步到另一个服务器集群,为迁移做准备。

我们目前正在设置的服务器运行的是 Dovecot 2.0.7,并在 userdb 配置中使用 passwd 驱动程序。我们尝试将以下代码放入 userdb 配置中,但没有成功:

userdb {
  driver = passwd
  #args = plain_pass=%w
  #override_fields = plain_pass=%w
}

当尝试启用注释的两行中的任意一行时,我们无法在 shell 脚本中使用 ${PLAIN_PASS},因为它被视为空字符串。

到目前为止,搜索 dovecot 邮件列表和其他论坛均未找到与此问题在我们的特定版本中不起作用相关的任何内容,也没有找到在与我们类似的版本中报告的任何错误报告。

由于我们目前陷入困境,因此如能得到任何帮助或指导以使此功能正常工作,我们将不胜感激。

答案1

仔细查看变更日志后,发现直到 Dovecot 2.1.0 才添加了 override_fields 和 default_fields 选项,因此这些选项不可用。另一篇文章(不再有链接)也提到,Dovecot 2.0.X 在到达登录后脚本部分之前清除变量时存在问题,该问题也在 2.1.X 中得到纠正。这意味着 args= 语句也不起作用。

要使用密码进行登录后脚本编写,唯一看起来最好的解决方案是将 Dovecot 版本 2.0.X 更新到至少 2.1.X 的较新版本,以便可以使用 overrride_fields 选项。

谢谢!

相关内容