Replying to email from outside of RT


#1

I have run into a interesting situation in Request Tracker and was wondering
if this is a bug or something that Request Tracker doesn’t support.

Here’s what happens:

  1. Requestor emails in a problem, creates a new request.

  2. A RT user takes the ticket and uses the “Reply” function in RT to send email
    back to the requestor.

  3. The requestor gets the reply in email and responds to it.

  4. The owner of the ticket gets the response from the requestor in email. [1]

  5. The owner replys to the email they get from RT that has the requestors
    response in it from their email program (not RT).

  6. This message goes back to RT, but is not sent to the requestor.

Should Request Tracker send mail back to the requestor in step #5, #6?

I know that I should probably just use the RT interface for sending all
correspondence, but when you get correspondence from the requestor in email,
it is much easier to reply right there.

-Grant Miller grant@pico.apple.com

Unix Systems Admin, Engineering Compute Services

[1]: The queue is setup with Owner: Send email notification of each transaction
Queue Members: Send copies of all correspondence
Requestors: Send email notifications of each transaction


#2
  1. The owner replys to the email they get from RT that has the requestors
    response in it from their email program (not RT).

  2. This message goes back to RT, but is not sent to the requestor.

Should Request Tracker send mail back to the requestor in step #5, #6?

In RT1, yes, that's the default -- I use it all the time.  If
the message bounced for some reason, though, RT won't know
that -- but your logfiles would.

With RT2 it's more configurable.

J.D. Falk "The Internet isn’t just a publishing medium or a
Product Manager medium for commerce, it’s a social medium."
Mail Abuse Prevention System LLC – Howard Rheingold


#3
  1. The owner of the ticket gets the response from the requestor in email. [1]

  2. The owner replys to the email they get from RT that has the requestors
    response in it from their email program (not RT).

  3. This message goes back to RT, but is not sent to the requestor.

Should Request Tracker send mail back to the requestor in step #5, #6?

That’s the ‘right’ thing if they’re sending to a ‘comment’ alias, but is
flat out wrong if it’s a ‘correspond’ alias. Any mail sent to a correspond
alias should be forwarded to the requestor unless RT can determine that the
mail came from the requestor.

I know that I should probably just use the RT interface for sending all
correspondence, but when you get correspondence from the requestor in email,
it is much easier to reply right there.

Actually, I prefer to work by mail when answering support mail…
But for bugs and projects, I use the web.

-Grant Miller grant@pico.apple.com

jesse reed vincent – root@eruditorum.orgjesse@fsck.com
70EBAC90: 2A07 FC22 7DB4 42C1 9D71 0108 41A3 3FB3 70EB AC90

pretty soon we’re going to HAVE to have hypertext mail!
–Tim Berners Lee. (8 Jan 1993 on www-talk)


#4
  1. The owner replys to the email they get from RT that has the requestors
    response in it from their email program (not RT).

  2. This message goes back to RT, but is not sent to the requestor.

Should Request Tracker send mail back to the requestor in step #5, #6?

In RT1, yes, that’s the default – I use it all the time. If
the message bounced for some reason, though, RT won’t know
that – but your logfiles would.

Speaking of bounces…are they handled properly by RT2? We’ve had several
instances where something went wrong, and an email got sent to a bad address,
and it bounced back, and we had no idea anything was wrong until we noticed no
response.


#5

Speaking of bounces…are they handled properly by RT2? We’ve had several
instances where something went wrong, and an email got sent to a bad address,
and it bounced back, and we had no idea anything was wrong until we noticed no
response.

Extract from RT2 config.pm

If $BouncesToRTOwner is defined, RT will send mail that it believes

might be a bounce to $RT::OwnerEmail (Currently unimplemented)

If $StoreBounces is defined, RT will record messages that it believes

might be autogenerated and might lead to mail loops.

As it does this, it will try to be careful not to send mail to the

sender of these messages (Currently unimplemented)

So I suppose bounce handling is in the TODO list somewhere :slight_smile:

However, I expect bounces to be an almost-normal part of
operation, so I’m thinking of interpreting the bounce a little
(could even be done by diverting the e-mail before it gets into
RT), searching for the ticket ID, and attaching the bounce
to the ticket, which should then go from stalled to open for
operator attention. Does that seem right to you?

#include <std_disclaim.h> Lorens Kockum


#6

However, I expect bounces to be an almost-normal part of
operation, so I’m thinking of interpreting the bounce a little
(could even be done by diverting the e-mail before it gets into
RT), searching for the ticket ID, and attaching the bounce
to the ticket, which should then go from stalled to open for
operator attention. Does that seem right to you?

I've got our system set up such that I'm notified of bounces,
so right now I do that manually...when the load starts to
increase we'll probably want to script it.

J.D. Falk "The Internet isn’t just a publishing medium or a
Product Manager medium for commerce, it’s a social medium."
Mail Abuse Prevention System LLC – Howard Rheingold


#7

If someone wants to write me bounce handling pseudocode.
(really just a set of english instructions for how best to handle bounces)
I’ll see what I can do about getting somehting coded up.On Thu, Mar 01, 2001 at 10:07:39AM -0800, J.D. Falk wrote:

On 03/01/01, Lorens Kockum rt-id-45@lists.lorens.org wrote:

However, I expect bounces to be an almost-normal part of
operation, so I’m thinking of interpreting the bounce a little
(could even be done by diverting the e-mail before it gets into
RT), searching for the ticket ID, and attaching the bounce
to the ticket, which should then go from stalled to open for
operator attention. Does that seem right to you?

I’ve got our system set up such that I’m notified of bounces,
so right now I do that manually…when the load starts to
increase we’ll probably want to script it.


J.D. Falk "The Internet isn’t just a publishing medium or a
Product Manager medium for commerce, it’s a social medium."
Mail Abuse Prevention System LLC – Howard Rheingold


rt-users mailing list
rt-users@lists.fsck.com
http://lists.fsck.com/mailman/listinfo/rt-users

jesse reed vincent – root@eruditorum.orgjesse@fsck.com
70EBAC90: 2A07 FC22 7DB4 42C1 9D71 0108 41A3 3FB3 70EB AC90

Any e-mail sent to the SLA will immediately become the intellectual property
of the SLA and the author of said message will enter into a period of
indentured servitude which will last for a period of time no less than seven
years.


#8

I still haven’t been able to install rt2 yet. I have installed Postgres
7.1 and I have the latest RT (Downloaded yesterday).

Here’s the error I get with make install:

Problem with statement:
CREATE TABLE Users (
id serial NOT NULL ,
Name varchar(120) NOT NULL ,
Password varchar(40) ,
Comments TEXT ,
Signature TEXT ,
EmailAddress varchar(120) ,
FreeformContactInfo TEXT ,
Organization varchar(200) ,
Privileged integer ,
RealName varchar(120) ,
Nickname varchar(16) ,
Lang varchar(16) ,
EmailEncoding varchar(16) ,
WebEncoding varchar(16) ,
ExternalContactInfoId varchar(100) ,
ContactInfoSystem varchar(30) ,
ExternalAuthId varchar(100) ,
AuthSystem varchar(30) ,
Gecos varchar(16) ,
HomePhone varchar(30) ,
WorkPhone varchar(30) ,
MobilePhone varchar(30) ,
PagerPhone varchar(30) ,
Address1 varchar(200) ,
Address2 varchar(200) ,
City varchar(100) ,
State varchar(100) ,
Zip varchar(16) ,
Country varchar(50) ,
Creator integer ,
Created timestamp ,
LastUpdatedBy integer ,
LastUpdated timestamp ,
Disabled bool NOT NULL DEFAULT 0
)

ERROR: Attribute ‘disabled’ is of type ‘bool’ but default expression is
of type 'int4’
You will need to rewrite or cast the expression
Database handle destroyed without explicit disconnect, chunk 2.

Any clues?

Thanks folks!
Don.


#9

OK, I changed the etc/schema.pm file to replace 0 with FALSE and it
installed. Now if the software uses 0 and 1 I’m not sure if it will pass.

Thanks!

Don.

stephen@acgroup.ucsc.edu wrote:


#10

Well if not I suppose you can change the table structure in RT
to use int4…On Fri, 2 Mar 2001, Don Lafontaine wrote:

OK, I changed the etc/schema.pm file to replace 0 with FALSE and it
installed. Now if the software uses 0 and 1 I’m not sure if it will pass.

Thanks!

Don.

stephen@acgroup.ucsc.edu wrote:

Not sure how you fix it but what it is saying is that Disabled in the
table is defined as a boolean = true or false, it cannot take ‘0’ or '1’
as values unless it were cast at int4 (4 byte integer).

Disabled bool NOT NULL DEFAULT 0
)

ERROR: Attribute ‘disabled’ is of type ‘bool’ but default expression is
of type 'int4’
You will need to rewrite or cast the expression
Database handle destroyed without explicit disconnect, chunk 2.

Any clues?

Thanks folks!
Don.


rt-users mailing list
rt-users@lists.fsck.com
http://lists.fsck.com/mailman/listinfo/rt-users


rt-users mailing list
rt-users@lists.fsck.com
http://lists.fsck.com/mailman/listinfo/rt-users


#11

gimme a bit to try getting postgres up…On Fri, Mar 02, 2001 at 01:15:19PM -0500, Don Lafontaine wrote:

I still haven’t been able to install rt2 yet. I have installed Postgres
7.1 and I have the latest RT (Downloaded yesterday).

Here’s the error I get with make install:

Problem with statement:
CREATE TABLE Users (
id serial NOT NULL ,
Name varchar(120) NOT NULL ,
Password varchar(40) ,
Comments TEXT ,
Signature TEXT ,
EmailAddress varchar(120) ,
FreeformContactInfo TEXT ,
Organization varchar(200) ,
Privileged integer ,
RealName varchar(120) ,
Nickname varchar(16) ,
Lang varchar(16) ,
EmailEncoding varchar(16) ,
WebEncoding varchar(16) ,
ExternalContactInfoId varchar(100) ,
ContactInfoSystem varchar(30) ,
ExternalAuthId varchar(100) ,
AuthSystem varchar(30) ,
Gecos varchar(16) ,
HomePhone varchar(30) ,
WorkPhone varchar(30) ,
MobilePhone varchar(30) ,
PagerPhone varchar(30) ,
Address1 varchar(200) ,
Address2 varchar(200) ,
City varchar(100) ,
State varchar(100) ,
Zip varchar(16) ,
Country varchar(50) ,
Creator integer ,
Created timestamp ,
LastUpdatedBy integer ,
LastUpdated timestamp ,
Disabled bool NOT NULL DEFAULT 0
)

ERROR: Attribute ‘disabled’ is of type ‘bool’ but default expression is
of type 'int4’
You will need to rewrite or cast the expression
Database handle destroyed without explicit disconnect, chunk 2.

Any clues?

Thanks folks!
Don.


rt-users mailing list
rt-users@lists.fsck.com
http://lists.fsck.com/mailman/listinfo/rt-users

jesse reed vincent – root@eruditorum.orgjesse@fsck.com
70EBAC90: 2A07 FC22 7DB4 42C1 9D71 0108 41A3 3FB3 70EB AC90

…realized that the entire structure of the net could be changed to be made
more efficient, elegant, and spontaneously make more money for everyone
involved. It’s a marvelously simple diagram, but this form doesn’t have a way
for me to draw it. It’ll wait. -Adam Hirsch


#12

gimme a bit to try getting postgres up…

Disabled bool NOT NULL DEFAULT 0
Obviously it should be default ‘f’ for postgres. :wink:

Can you move that attr a bit up in schema definition, so all non-nulls
fields go first?


#13

Disabled bool NOT NULL DEFAULT 0
Obviously it should be default ‘f’ for postgres. :wink:

Actually, the problem is that not all databases support ‘bool’.
To make database layer as transparent as possible, the datatype
for ‘boolean’ fields has been changed to ‘int2’, (0 is false, 1 is true);

Can you move that attr a bit up in schema definition, so all non-nulls
fields go first?

Any particular reason?

jesse reed vincent – root@eruditorum.orgjesse@fsck.com
70EBAC90: 2A07 FC22 7DB4 42C1 9D71 0108 41A3 3FB3 70EB AC90

Emacs is a pretty good operating system, but Unix has a better editor.


#14

Disabled bool NOT NULL DEFAULT 0
Obviously it should be default ‘f’ for postgres. :wink:

Actually, the problem is that not all databases support ‘bool’.
To make database layer as transparent as possible, the datatype
for ‘boolean’ fields has been changed to ‘int2’, (0 is false, 1 is true);
Mkay. I guess that’ll work.

Can you move that attr a bit up in schema definition, so all non-nulls
fields go first?

Any particular reason?
Nah, just cleanliness. no particular reason if its not a simple move.