我们将JIRA Cloud用于我们的票务系统,该系统不支持使用电子邮件别名。由于我们的系统中现在有两个域,因此第二个域被添加为G Suite中的别名(两个域中的用户名相同)。管理层决定将这个新域domain2用作所有用户的主要发件人地址,这已在多个地方(例如JIRA)引起了问题,因为我们无法在G Suite或JIRA中更改主域,并且可能会收到电子邮件来自domain1或domain2。
因此,我想设置一个procmail(或同等的)过滤器,该过滤器通过POP3检查helpdesk @电子邮件帐户,对于从domain1发送的电子邮件,它将在末尾添加“ inc”,以便它与电子邮件标题和电子邮件发件人字段,然后将该消息发送到JIRA侦听的第二个电子邮件地址。它也需要显示为来自user @ domain1,而不是发送它的实际帐户(我知道,这需要在G Suite端进行额外的工作)。
由于JIRA不允许内部进行任何此类电子邮件处理,因此,JIRA可以正常运行,而无需执行可能无法满足我们需要的附件,并且由于每个用户按月收取费用而可能会变得昂贵。
因此,我试图查看procmail是否甚至是为此设置的最简单(或最佳)操作(考虑到不再维护),以及哪种代理组合对此最简单。有很多选择,但我不确定哪种设置最简单,或者怎么做最简单。
一旦我知道该往哪个方向走,我就应该能够弄清楚如何使它起作用。只是不确定从哪里开始,使用哪个代理,如何最好地实现这一目标。
谢谢!
答案 0 :(得分:0)
您的问题实际上与编程无关;也许尝试https://serverfault.com/或https://unix.stackexchange.com/来处理基础架构部分。我将重点回答标题中的问题,尽管有关细节也相当混乱。
:0fH
* domain1
| sed 's/domain1/domain2/g'
根据您的描述,我猜测domain1
实际上是domain2
的子字符串。在这种情况下,需要对正则表达式进行一些改进(否则最终将domain1inc
替换为domain1incinc
,以此类推)。作为快速的第一个近似值,doman1($|[^i])
将与domain1
匹配,当其后没有任何字符或不是i
的字符时。替换字符时,您将希望保留该字符,通常在sed
中通过记住该字符并将其自身替换来完成。或者,您可以切换到支持更丰富的regex方言的Perl。
:0fH
* domain1($|[^i])
| perl -pe 's/domain1(?!inc)/domain2/g'
当然,也许您的实际用例看起来更像s/domain1.com/domain2.com/g
,在这种情况下,.com
后缀的附加上下文足以避免替换应保持不变的字符串,您可以安全地使用更简单,因此更快,甚至可能更安全的sed
。
同样,首先如何在收到的电子邮件上准确运行Procmail是一个单独的主题,与编程无关。如果邮件服务器上有Postfix和Procmail,只需在.procmailrc
帐户的主目录中创建一个helpdesk
就足够了。