(Netscape 4.x) replying to correspondence is blank

2 Questions.

Question 1:
Many of our clients use Netscape 4.7x on Windows and some on Solaris 7/8
to correspond with our RT queue.

We’ve noticed odd behavior when a client replies to messages sent by RT
using Netscape 4.7x/4.8x Windows/Solaris. The message appears blank
rather than quoting the original message in the reply.

(scrips: “OnCreate AutoReply with template autoreply” or “OnCorrespond
NotifyAllWatchers with template Correspondence”. server: RT 2.0.15 on
FreeBSD)

Other clients we’ve tried (Mozilla 1.x, Netscape 7.x, Pine, and
Outlook2000) do not exhibit this behavior.

Can anyone else replicate this? Any work arounds (other than asking all
of our clients to upgrade their email client)?

Question 2:
How do I make the person who is CC’d on the orignal requestors email
get correspondence on the ticket (e.g. they automatically assume a
requestor/watcher status throughout the life of the ticket). I’m sure
this has been asked before but no luck finding in RT/FM or searching
this list.

Thanks,
Mike

Mike Patterson wrote:

We’ve noticed odd behavior when a client replies to messages sent by RT
using Netscape 4.7x/4.8x Windows/Solaris. The message appears blank
rather than quoting the original message in the reply.

This could be related to the missing MIME-Version header bug.
Try the attached patch?

How do I make the person who is CC’d on the orignal requestors email
get correspondence on the ticket (e.g. they automatically assume a
requestor/watcher status throughout the life of the ticket). I’m sure
this has been asked before but no luck finding in RT/FM or searching
this list.

Look in config.pm for ParseNewMessageForTicketCcs. Note especially
the warning that accompanies it.
Phil Homewood, Systems Janitor, www.SnapGear.com
pdh@snapgear.com Ph: +61 7 3435 2810 Fx: +61 7 3891 3630
SnapGear - Custom Embedded Solutions and Security Appliances

rt-sendemail-mime-patch (1.13 KB)

Thanks for the tips (ParseNewMessageForTicketCCs worked)!
But I’m still having a the Netscape Header problem.

Upon further investigation RT is dropping the “Message-ID” header for
some reason. Note this only happens on my production server (RT 2.0.15

  • FreeBSD), both of my test RT systems do not exhibit this behavior.
    Judging from the comments, it is probably because I have multiple scrips
    for a ticket notifying different people.

Including: OnCreate AutoReplySquelch with template help_eecs_autoreply,
OnCreate NotifyAllWatchersAsComment with template Correspondence, and
OnCorrespond NotifyAllWatchers with template Correspondence.

Could someone please give suggest a different format for the SendEmail.pm?

I’m under pressure to quickly get this fixed (exact format if possible
I’m not confident on converting this
“rt-ticket#-transaction#-scrip#-receipient#” into the correct syntax,
yet).

Thanks,
Mike

Relevant section from /path/to/rt2/lib/RT/Action/SendEmail.pm

{{{ sub SetMessageID

Without this one, threading won’t work very nice in email agents.

Anyway, I’m not really sure it’s that healthy if we need to send

several separate/different emails about the same transaction.

sub SetMessageID {
my $self = shift;

TODO this one might be sort of broken. If we have several scrips

+++ # sending several emails to several different persons, we need to

pull out different message-ids. I’d suggest message ids like

“rt-ticket#-transaction#-scrip#-receipient#”

$self->SetHeader
(‘Message-ID’, “<rt-”.$self->TicketObj->id().
“-”.
$self->TransactionObj->id().“.” .rand(20) .
“@”.$RT::Organization.“>”)
unless $self->TemplateObj->MIMEObj->head->get(‘Message-ID’);
}

I was able to find a solution and wanted to share it.
I hope this doesn’t violate a RFC regarding Message-ID format.

From what I understand the Message-ID field should be somewhat
random/unique and also include some information (e.g. name of your
organization). I don’t know why it was dropping the Message-ID with my
setup (maybe combination of scrips…or our sendmail setup?). So I made
the Message-ID somewhat simpler and my weird behavior with Netscape 4.x
clients (e.g. no Message-ID, so when replying message was blank) go away.

the file /path/to/rt2/lib/RT/Action/SendEmail.pm

-----------------original (minus comments)------------------------------
sub SetMessageID {
my $self = shift;

$self->SetHeader
(‘Message-ID’, “<rt-”.$self->TicketObj->id().
"-".
$self->TransactionObj->id()."." .rand(20) .
"@".$RT::Organization.">")
unless $self->TemplateObj->MIMEObj->head->get(‘Message-ID’);
}

-----------------My modified section-----------------------------------
sub SetMessageID {
my $self = shift;

$self->SetHeader
(‘Message-ID’, “<rt-”.$self->TicketObj->id()."-".rand(20).">")
unless $self->TemplateObj->MIMEObj->head->get(‘Message-ID’);
}

Mike Patterson wrote:

I hope this doesn’t violate a RFC regarding Message-ID format.

Actually…

$self->SetHeader
(‘Message-ID’, “<rt-”.$self->TicketObj->id().“-”.rand(20).“>”)
unless $self->TemplateObj->MIMEObj->head->get(‘Message-ID’);

… yes, it does. RFC 2822, s.3.6.4. Try again? :slight_smile:
Phil Homewood, Systems Janitor, www.SnapGear.com
pdh@snapgear.com Ph: +61 7 3435 2810 Fx: +61 7 3891 3630
SnapGear - Custom Embedded Solutions and Security Appliances

Mike Patterson wrote:

$self->SetHeader
(‘Message-ID’, “<rt-”.$self->TicketObj->id().
“-”.
$self->TransactionObj->id().“.” .rand(20) .
“@”.$RT::Organization.“>”)
unless $self->TemplateObj->MIMEObj->head->get(‘Message-ID’);
}

I guess this could break if you had a bogus Message-ID header in
your template. Does pain persist if you merely comment out the
“unless” clause?
Phil Homewood, Systems Janitor, www.SnapGear.com
pdh@snapgear.com Ph: +61 7 3435 2810 Fx: +61 7 3891 3630
SnapGear - Custom Embedded Solutions and Security Appliances