我正在尝试让收到的电子邮件自动直接进入与其相关的队列/票证,或者如果不存在则创建一个新的,并使用 Web 界面中正确的队列电子邮件设置。
我将拥有太多的队列,以至于每个队列的邮件门内都只能有两项。
这里讨论了类似的问题(Procmail:管道到程序,否则返回错误给发件人),但我认为最好是开启一个新案例,而不是标记看似对该人的查询的答案。
我可以向默认 rt 用户发送和接收电子邮件(通过 PostFix),并且该用户成功接受相关域的所有电子邮件。
我不知道电子邮件发到了哪里——它已成功发送,但它没有更新现有票证(主题行匹配),也没有创建任何新票证。
这是我的 ./procmail.log 的示例:
procmail: [23048] Mon Aug 23 14:26:01 2010
procmail: Assigning "MAILDOMAIN=rt.mydomain.com
"
procmail: Assigning "RT_MAILGATE=/opt/rt3/bin/rt-mailgate
"
procmail: Assigning "RT_URL=http://rt.mydomain.com/
"
procmail: Assigning "LOGABSTRACT=all
"
procmail: Skipped "
"
procmail: Skipped "
"
procmail: Assigning "LASTFOLDER={
"
procmail: Opening "{
"
procmail: Acquiring kernel-lock
procmail: Notified comsat: "rt@18337:./{
"
From [email protected] Mon Aug 23 14:26:01 2010
Subject: RE: [RT.mydomain.com #1] Test Ticket
Folder: { 1616
通知的通信卫星部分是否意味着它通知了 RT?
我的./procmailrc 的内容:
#Preliminaries
SHELL=/bin/sh #Use the Bourne shell (check your path!)
#MAILDIR=${HOME} #First check what your mail directory is!
MAILDIR="/var/mail/rt/"
LOGFILE="home/rt//procmail.log"
LOG="--- Logging ${LOGFILE} for ${LOGNAME}, "
VERBOSE=yes
MAILDOMAIN="rt.mydomain.com"
RT_MAILGATE="/opt/rt3/bin/rt-mailgate"
#RT_MAILGATE="/usr/local/bin/rt-mailgate"
RT_URL="http://rt.mydomain.com/"
LOGABSTRACT=all
:0
{
# the following line extracts the recipient from Received-headers.
# Simply using the To: does not work, as tickets are often created
# by sending a CC/BCC to RT
TO=`formail -c -xReceived: |grep $MAILDOMAIN |sed -e 's/.*for *<*\(.*\)>* *;.*$/\1/'`
QUEUE=`echo $TO| $HOME/get_queue.pl`
ACTION=`echo $TO| $HOME/get_action.pl`
:0 h b w
|/usr/bin/perl $RT_MAILGATE --queue $QUEUE --action $ACTION --url $RT_URL
}
我知道我的 get_queue.pl 和 get_action.pl 脚本可以运行,因为它们之前已经测试过。
如果您能提供任何帮助和/或指导,我们将不胜感激。
- 妮可
答案1
您可能希望将路由功能推送到 RT,而不是尝试在 procmail 中实现它。让电子邮件发送到 RT,然后使用类似 EmailRouting 或 SetOwnerAndQueueBySubject 脚本示例将电子邮件短入适当的队列。
摘自 RT Wiki (https://rt-wiki.bestpractical.com/wiki/Main_Page):
电子邮件路由 ->https://rt-wiki.bestpractical.com/wiki/EmailRouting
设置所有者和队列对象 ->https://rt-wiki.bestpractical.com/wiki/SetOwnerAndQueueBySubject