Suppression of incoming mail CC to RT queue

Folks,
couldn’t find anything on this topic, so here goes (sorry if I’ve
missed something, any pointers gratefully received)…

Some of our users (non-technical staff - everyone else seems capable of
following simple instructions ;-)) seem to insist on including the RT
queue address in the CC list of some emails; this is primarily a problem
if they reply to a mail which has a valid ticket ID in Subject: field
(the route by which they get this is unimportant to this discussion),
since they don’t expect that RT will generate a reply to the original
requestor, since they didn’t send the mail to him/her… I’m sure you
can see where this is leading.

I can see a number of approaches to solving this, unfortunately, it
appears that training the users isn’t one of them :frowning:

One approach would be to use, say ProcMail, to suppress messages
destined for the RT queue where the RT address is in the CC list, not
the To: list.

Another would be to generate suitable Scrip conditions to carry out a
similar check for ticket creation/update.

Another would be to create Scrip actions for creation/update which check
for the CCing in the Prepare() method, though this doesn’t strike me as
the ‘right’ place to be doing this kind of thing.

Yet another would be to modify the rt-mailgate to check for this
condition, which seems logically where it should live, given that
checking for suspicious senders, external users etc. is done here,
though obviously picking up a condition from config.pm is the right way
to do this kind of thing.

I’d be grateful for comments on the merits of the various approaches,
based on the accumulated wisdom of those present, or indeed for any
other suggestions to solving my problem.

Thanks.
Carl Elkins, Team Leader, Technical Support, IPTV Division
Pace Micro Technology plc, Tel: +44 (0) 1223 518 586
645 Newmarket Road, Fax: +44 (0) 1223 518 526
Cambridge. CB5 8PB WWW: http://www.pace.co.uk/

Some of our users … seem to insist on including the RT queue address
in the CC list of some emails; this is primarily a problem if they
reply to a mail which has a valid ticket ID in Subject: field (the
route by which they get this is unimportant to this discussion),

Thinking differently about your situation, how unimportant is that?

since they don’t expect that RT will generate a reply to the original
requestor, … [terrible consequences snipped]

The thing I’d try first – as by far the least hassle from a techinical
point of view – would be to change the templates used so that people
don’t have these expectations.

Correspondence sent to owners, CCs, and admin-CCs can have a block like
this at the top of them:

This mail is managed by RT. Ticket #123

Ticket Subject: Very Urgent Problem!

Intranet ticket page: http://rt/Ticket/Display.html?id=123

Replying to or forwarding this message will go to ALL these people:

D Duck, Acme Inc

B Bunny, Acme Inc

E Fudd, Acme Inc

It doesn’t mattern how you address the message: RT will send it to

all those people.

Please delete this block from your replies.

You just need a loop in the middle of the template to get the RealName
and Organization for each of the requestors of the ticket.

And make sure that you use different template for mailing requestors so
that they don’t see the above. (So you have to have separate
correspondence scrips for sending internal and external.)

Smylers
GBdirect

The thing I’d try first – as by far the least hassle from a
techinical point of view – would be to change the templates used so
that people don’t have these expectations.

[-- snip --]

You just need a loop in the middle of the template to get the RealName
and Organization for each of the requestors of the ticket.

We do something like this with our install; every autogenerated message
has a number of lines at the top, one of which is the watchers for the
ticket in question, which we generate with:

join ", ", do {
my @watchers;
my %uniq;

  my $Watchers = $Ticket->Watchers;
  my $Requestors = $Ticket->Requestors;
  my $QueueWatchers = $Ticket->QueueObj->Watchers;

  while (my $requestor = $Requestors->Next) {
      my $email = $requestor->OwnerObj->EmailAddress;
      push @watchers, $email if length $email;
  }

  while (my $watcher = $Watchers->Next) {
      my $email = $watcher->OwnerObj->EmailAddress;
      push @watchers, $email if length $email;
  }

  while (my $queue_watcher = $QueueWatchers->Next) {
      my $email = $queue_watcher->OwnerObj->EmailAddress;
      push @watchers, $email if length $email;
  }

  grep { ++$uniq{$_} == 1 } @watchers;

}

This generates a string of addresses that looks like:

user1@addr.ess, user2@addr.ess, user3@addr.ess

We stick this list in the header, which comes at the top every
message so people will be sure to see it (in theory, at least).

(darren)

The great artist and thinker are the simplifiers.