将消息和身份验证登录管道传输到 Exim 中的外部脚本

将消息和身份验证登录管道传输到 Exim 中的外部脚本

我已经做了一些研究,但我还是被这个问题难住了。我希望能够获取经过身份验证的用户发送的消息并将其连同发件人的身份验证登录一起传送到脚本。我使用的是普通身份验证,我尝试过使用 $auth1-3 变量,但它们不起作用,如果我尝试打印它们,它们是空的。我希望能够做这样的事情:

[...]

begin transports

pipe_delivery:
  driver = pipe
  command = /bin/bash -c "/usr/local/bin/myscript $auth2"

可以使用 Exim 来实现这一点吗?有什么解决方法吗?

问候。

答案1

我想知道在交付时身份验证用户信息是否仍然可用...一旦消息被接受到队列中,我怀疑该信息不再存储。

一种解决方法可能是将身份验证用户信息包含在 Received: 标题行中,然后在脚本中再次提取该信息。我的received_header_text定义在末尾包括以下内容:

 ${if def:authenticated_id {auth $authenticated_id}}

相关内容