0

我们将 JIRA Cloud 用于我们的票务系统,它不支持使用电子邮件别名。由于我们的系统中现在有两个域,第二个域作为别名添加到 G Suite 中(两者的用户名相同)。管理层决定使用这个新域 domain2 作为所有用户的主要 FROM 地址,这在多个地方引起了问题,例如在 JIRA 中,因为我们无法在 G Suite 或 JIRA 中更改主域,并且可以发送电子邮件来自域 1 或域 2。

所以我想设置一个 procmail(或等效)过滤器,通过 POP3 检查 helpdesk@ 电子邮件帐户,对于从 domain1 发送的电子邮件,它会在末尾添加“inc”,以便它与电子邮件标题中的 domain2 匹配,并且email FROM 字段,然后将该消息发送到 JIRA 侦听的第二个电子邮件地址。它也需要显示为来自 user@domain1,而不是发送它的实际帐户(我知道这需要在 G Suite 端进行额外的工作才能允许)。

由于 JIRA 不允许在内部进行任何此类电子邮件处理,这将允许 JIRA 正常工作,而无需附加组件,这些附加组件可能无法满足我们的需要,并且可能会变得昂贵,因为它们是按用户按月收费的。

所以我想看看 procmail 是否是为此设置的最简单(或最好)的东西(考虑到它不再维护),以及哪种代理组合最容易。有很多选择,但我不确定哪个最容易为此设置,或者不知道该怎么做。

一旦我知道该往哪个方向走,我应该能够弄清楚如何让它发挥作用。只是不知道从哪里开始,使用哪些代理,如何最好地解决这个问题。

谢谢!

4

1 回答 1

0

您的问题实际上与编程无关;也许尝试https://serverfault.com/https://unix.stackexchange.com/作为基础设施部分。我将专注于回答标题中的问题,尽管这方面的细节也相当混乱。

:0fH
* domain1
| sed 's/domain1/domain2/g'

我从您的描述中猜测domain1实际上是domain2. 如果是这种情况,则需要稍微锐化正则表达式(否则您最终将替换domain1incdomain1incinc等)。作为一个快速的初步近似,doman1($|[^i])domain1它后面没有任何内容或不是i. 替换时,您将希望保留该字符,这通常sed通过记住它并用它自己替换它来完成。或者您可以切换到 Perl,它支持更丰富的正则表达式方言。

:0fH
* domain1($|[^i])
| perl -pe 's/domain1(?!inc)/domain2/g'

当然,也许您的真实用例看起来更相似s/domain1.com/domain2.com/g,在这种情况下,后缀的附加上下文.com足以避免替换应保持不变的字符串,并且您可以安全地使用更简单、因此更快且可能更安全的字符串sed

同样,首先如何在传入的电子邮件上运行 Procmail 是一个单独的主题,与编程无关。如果您在邮件服务器上有 Postfix 和 Procmail,只需.procmailrchelpdesk帐户的主目录中创建一个就足够了。

于 2018-10-19T07:16:20.760 回答