Procmail does not recognize existing queue name and does not allow to create a new ticket by e-mail - RESOLVED and Resume

Yes, I can confirm, that the problem was caused by missconfiguration of
qmail (missing accounts/aliases for newly created or renamed queues with
changed addresses).
Resume:
Problem: after changing queue names and adding new queue names (all of them
using e-mail addresses, which did not exist before), creation of new tickets
via e-mail was not possible.Even thou web form allowed to create new ticket
in those queues, incomming e-mail was either droped to default queue (if
creation here was allowed) or ticket creation was denied and rejection
e-mail was sent back.

Cause: reason was, that new or changed queues used corresponding e-mails,
which did not exists before and nobody created them. qmail was configured to
use “catch all” accound default, processed by default queue, so all attempts
to send e-mail to nonexisting e-mail account ersulted in hitting default
e-mail account processed by default queue.

Resoltuion: All missing e-mail accounts/aliases had to be created in qmail.
Rule of thumb: List all queues in your RT (RT-Configuration-Queues), collect
all configured e-mail accounts from column Addressand make sure, they do
exists and are properly configured to pass incomming e-mail to RT .

Note: Be sure, you know how to do proper qmail configuration. I made two
mistakes: one was forgetting pipe in front of alias configuration, another
was using uppercase letters in filename of alias configuration. Your mailing
system might have some other surprises like those. You should concentrate on
fixing mail server configuration and do not blame or search RT for some
bugs.

Jan Vlčinský2009/3/23 Jan Vlčinský smibs@centrum.cz

Problem probably resolved (I will run the test tomorrow)
My RT administrator reminded me, that adding or renaming queue
correspondence address requires change or creation of those addresses in
qmail, we use.

So the reason was (probably) missing e-mail account in the receiving mail
server, which passed unrecognized e-mail to default account processed by
default queue.

I will confirm that tomorrow.

Jan Vlcinsky

2009/3/22 Jan Vlčinský smibs@centrum.cz

Hi

RT 3.8.2 on MySQL
In some queues I am able to reply by e-mail, create ticket via web form,
however, creation of ticket by sending e-mail fails with reply "No
permission to create tickets in the queue ‘default’ "

Log file shows this
[Sat Mar 21 19:44:11 2009] [debug]: Mail from user #376 (smibs@centrum.cz)
(/opt/rt3/bin/…/lib/RT/Interface/Email/Auth/MailFrom.pm:75)
[Sat Mar 21 19:44:11 2009] [crit]: No permission to create tickets in the
queue ‘default’ (/opt/rt3/bin/…/lib/RT/Interface/Email.pm:244)
[Sat Mar 21 19:44:11 2009] [error]: Could not record email: Ticket
creation failed: No permission to create tickets in the queue ‘default’
(/opt/rt3/share/html/REST/1.0/NoAuth/mail-gateway:75)

Creation of ticket by e-mail works only on some (maybe one) old queue,
which did not change a name.

It seems, like procmail does not recognize existence of specific queue, or
does not find enough rights for creating a ticket there and tries to create
it in the queue default.

Situation seems quite similar to Fixing RT users described in
http://vdt.cs.wisc.edu/internal/rt-user-fixes.html (however, I did not
investigate database data yet).

In my rt.log there are strange entries like:

[Sat Mar 21 15:55:02 2009] [error]: RT::Group=HASH(0xbfccb90) was created
without a CurrentUser. Any RT object which is subclass of RT::Base must be
created with a RT::CurrentUser or a RT::User object as the first argument.
(/opt/rt3/bin/…/lib/RT/Base.pm:108)
[Sat Mar 21 15:55:02 2009] [error]: RT::Group=HASH(0xbfccb90) was created
without a CurrentUser. Any RT object which is subclass of RT::Base must be
created with a RT::CurrentUser or a RT::User object as the first argument.
(/opt/rt3/bin/…/lib/RT/Base.pm:108)
[Sat Mar 21 15:55:02 2009] [error]: RT::Group=HASH(0xbfccb90) was created
without a CurrentUser. Any RT object which is subclass of RT::Base must be
created with a RT::CurrentUser or a RT::User object as the first argument.
(/opt/rt3/bin/…/lib/RT/Base.pm:108)
[Sat Mar 21 15:55:37 2009] [error]: RT::Group=HASH(0xb0f3148) was created
without a CurrentUser. Any RT object which is subclass of RT::Base must be
created with a RT::CurrentUser or a RT::User object as the first argument.
(/opt/rt3/bin/…/lib/RT/Base.pm:108)
[Sat Mar 21 15:55:37 2009] [error]: RT::Group=HASH(0xb0f3148) was created
without a CurrentUser. Any RT object which is subclass of RT::Base must be
created with a RT::CurrentUser or a RT::User object as the first argument.
(/opt/rt3/bin/…/lib/RT/Base.pm:108)
[Sat Mar 21 15:55:37 2009] [error]: RT::Group=HASH(0xb0f3148) was created
without a CurrentUser. Any RT object which is subclass of RT::Base must be
created with a RT::CurrentUser or a RT::User object as the first argument.
(/opt/rt3/bin/…/lib/RT/Base.pm:108)

Today I was doing a lot of work with RT

  1. creating many new queues (there were 25, now there are 50)
  2. resetting group rights on the queues
  3. reorganizing groups (for each type of queue I keep one group of
    requesters and one group of solvers)

For manipulating queue names and group rights in queue I used JMeter to
simulate HTTP POST. Resulting responses did not show any problems.

I am thinking of cleaning the whole database (not in production yet), but
I am afraid, I run into the same problem soon.

At this moment I am not able to create a new queue, which allows me to
create ticket directly there by e.mail. I tried to simplify situation,
granted queue rights directly to a user, no help.

Any Idea what to do?

Jan Vlcinsky


Jan Vlčinský
tel: +420-597602024
mob: +420-608979040