RT Melhor Prática, classificando e-mail em filas automaticamente usando o procmail

3

Estou tentando fazer com que os emails de entrada entrem automaticamente na fila / ticket ao qual estão relacionados ou criem um novo caso não exista e a configuração de email da fila correta na interface da Web seja usada.

Eu terei muitas filas para ter dois itens de linha dentro do mailgate por fila.

Um problema semelhante foi discutido aqui ( Procmail: Pipe to Programa, caso contrário, Return Error to Sender ), mas achei melhor abrir um novo caso em vez de marcar o que parecia ser uma resposta à consulta dessa pessoa.

Eu sou capaz de enviar e receber e-mail (via PostFix) para o usuário rt padrão e este usuário aceita com sucesso todos os e-mails para o domínio relativo.

Eu não tenho idéia de onde o e-mail vai - ele foi entregue com sucesso, mas não atualiza tíquetes existentes (com uma correspondência de linha de assunto) e não cria nenhum novo.

Aqui e exemplo do meu ./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

A porção comsat notificada significa que notificou RT?

O conteúdo do meu ./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 *<*\(.*\)>* *;.*$//''
 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
 }

Eu sei que meus scripts get_queue.pl e get_action.pl funcionam, como foram testados anteriormente.

Qualquer ajuda e / ou orientação que você possa dar seria muito apreciada.

  • Nicôle
por user52095 23.08.2010 / 23:29

1 resposta

2

Você pode querer empurrar a função de roteamento para a RT em vez de tentar implementá-la no procmail. Deixe o email ser enviado para RT e, em seguida, use algo como os exemplos de script EmailRouting ou SetOwnerAndQueueBySubject para resumir o email na fila apropriada.

Do RT Wiki ( link ):

EmailRouting - > link

SetOwnerAndQueueBySubject - > link

    
por 16.01.2011 / 17:29