Mails to empty list, 3.2

To: “Owner of intelenet.net Ticket #22917”: ;
To: “OtherRecipients of intelenet.net Ticket #22917”: ;
To: “AdminCc of intelenet.net Ticket #22917”:;

There must not be more than one “To” header field. See RFC 2822,
section 3.6, the part that says “The following table indicates limits on
the number of times each field may occur in a message header”.

I’m pretty sure that the original author was giving three examples, not
one example of a three-To: message. I can’t imagine a codepath through
RT that would generate the above in one message.

That’s correct - three examples.

Anyways, is there something more I can give you to help debug this?

To: “Owner of intelenet.net Ticket #22917”: ;
To: “OtherRecipients of intelenet.net Ticket #22917”: ;
To: “AdminCc of intelenet.net Ticket #22917”:;

That’s correct - three examples.

Anyways, is there something more I can give you to help debug this?

It’s not a bug in RT. Each of those three “To:” lines conforms to the
grammar in RFC 2822. If your mail system doesn’t like them, there’s a
bug in your mail system. If you want to stop RT from generating “To:”
lines like that, you should turn off the UseFriendlyToLine option.

–apb (Alan Barrett)

To: “Owner of intelenet.net Ticket #22917”: ;
To: “OtherRecipients of intelenet.net Ticket #22917”: ;
To: “AdminCc of intelenet.net Ticket #22917”:;

That’s correct - three examples.

Anyways, is there something more I can give you to help debug this?

It’s not a bug in RT. Each of those three “To:” lines conforms to the
grammar in RFC 2822. If your mail system doesn’t like them, there’s a
bug in your mail system. If you want to stop RT from generating “To:”
lines like that, you should turn off the UseFriendlyToLine option.

That’s not the actual problem (I was wrong when I first posted that) -
the problem is that the first email submitted has an empty recipient
list.

For instance, for a ticket update you’ll note the first email sent is
to an empty set followed by all the normal ticket recipients.

Jul 9 09:14:09 help1 postfix/pickup[52620]: 97B6A34D61: uid=65534
from=
Jul 9 09:14:09 help1 postfix/cleanup[52660]: 97B6A34D61:
message-id=rt-3.2.0-22917-119415-6.7.52424073552909@intelenet.net
Jul 9 09:14:09 help1 postfix/cleanup[52660]: 97B6A34D61: to=,
relay=cleanup, delay=0, status=bounced (No recipients specified)
Jul 9 09:14:09 help1 postfix/cleanup[52663]: A02EB34D6E:
message-id=20040709161409.A02EB34D6E@help1.irv.intelenet.net
Jul 9 09:14:09 help1 postfix/qmgr[8580]: A02EB34D6E: from=<>,
size=2474, nrcpt=1 (queue active)
Jul 9 09:14:09 help1 postfix/cleanup[52663]: A5ABA34D70:
message-id=20040709161409.A02EB34D6E@help1.irv.intelenet.net
Jul 9 09:14:09 help1 postfix/qmgr[8580]: A5ABA34D70: from=<>,
size=2620, nrcpt=1 (queue active)
Jul 9 09:14:09 help1 postfix/local[52664]: A02EB34D6E:
to=nobody@help1.irv.intelenet.net, relay=local, delay=0, status=sent
(forwarded as A5ABA34D70)
Jul 9 09:14:09 help1 postfix/smtp[52665]: A5ABA34D70:
to=mrz@intelenet.net, orig_to=nobody@help1.irv.intelenet.net,
relay=mailbox.intelenet.net[209.80.45.8], delay=0, status=sent (250
5284292 message accepted for delivery)
Jul 9 09:14:09 help1 postfix/pickup[52620]: D1FCD34D71: uid=65534
from=
Jul 9 09:14:09 help1 postfix/cleanup[52660]: D1FCD34D71:
message-id=rt-3.2.0-22917-119415-17.2.49407347471688@intelenet.net
Jul 9 09:14:09 help1 postfix/qmgr[8580]: D1FCD34D71:
from=nobody@help1.irv.intelenet.net, size=831, nrcpt=1 (queue active)
Jul 9 09:14:09 help1 postfix/pickup[52620]: F0F5C34D74: uid=65534
from=
Jul 9 09:14:09 help1 postfix/cleanup[52663]: F0F5C34D74:
message-id=rt-3.2.0-22917-119415-55.6.92457586317836@intelenet.net
Jul 9 09:14:09 help1 postfix/qmgr[8580]: F0F5C34D74:
from=nobody@help1.irv.intelenet.net, size=884, nrcpt=1 (queue active)
Jul 9 09:14:10 help1 postfix/smtp[52670]: F0F5C34D74:
to=helpdeskwatchers@intelenet.net,
relay=mailbox.intelenet.net[209.80.45.8], delay=1, status=sent (250
5284291 message accepted for delivery)
Jul 9 09:14:10 help1 postfix/smtp[52665]: D1FCD34D71:
to=mrz@velvet.org, relay=velvet.org.mail5.psmtp.com[12.158.35.251],
delay=1, status=sent (250 Thanks)

matthew zeier - “Nothing in life is to be feared. It is only to be
understood.” - Marie Curie

Are Hans and I the only ones with this problem? Free beer to anyone who can
help me find a fix to this.From: “Hans K” hk@circlestorm.org
To: “matthew zeier” mrz@intelenet.net
Sent: Friday, July 02, 2004 12:35 AM
Subject: Re: [Rt-devel] mails to empty list, 3.2

I looked at the headers of the emails that bounced. The To:
header is
botched -
What about that is botched?
They aren’t valid email address… username@host, for instance.
I may have stated that incorrectly.
Nonetheless, I have bouncing emails and I don’t know how to track this
down
(and it’s late, or getting there).

I’m seeing the same thing… But I think this is because of the default
scrips, but so far I have not dared to begin to remove any of them to
test it out.

RT logs having sent to Owner, OtherRecipients and AdminCc on every
correspondence. But Only the Requestor is supposed to get it, as the
one who own it shouldn’t get it (I seem to remember setting it to not
sending email to the one who did the correspondance…), and correctly
doesn’t get it. It’s just strange that it logs that it has been sent…

-HK

Are Hans and I the only ones with this problem? Free beer to anyone who can
help me find a fix to this.
I just ran into this, and spent a minute poking at it. The
FriendlyToLine is pushed onto the To: line if there isn’t anything
there, regardless if there are recipients in the Cc or Bcc. Later, when
the check of “does this have recipients” rolls around, there’s nothing
in the Cc or Bcc, but the FriendlyToLine in the To, so… off it goes!

I have fixed the problem in svn; it should be in the next 3.2
release. If you’re itching to fix it now, applying the following should
work.

  • Alex

Index: lib/RT/Action/SendEmail.pm
— lib/RT/Action/SendEmail.pm (revision 1228)
+++ lib/RT/Action/SendEmail.pm (working copy)
@@ -116,10 +116,11 @@
if ( !$MIMEObj->head->get(‘Bcc’) && $self->{‘Bcc’} && @{ $self->{‘Bcc’} } );

 # PseudoTo (fake to headers) shouldn't get matched for message recipients.
  • If we don’t have any ‘To’ header, drop in the pseudo-to header.

  • If we don’t have any ‘To’ header (but do have other recipients), drop in

  • the pseudo-to header.

    $self->SetHeader( ‘To’, join ( ', ', @{ $self->{‘PseudoTo’} } ) )
    if ( $self->{‘PseudoTo’} && ( @{ $self->{‘PseudoTo’} } )
  •    and ( !$MIMEObj->head->get('To') ) );
    
  •    and ( !$MIMEObj->head->get('To') ) ) and ( $MIMEObj->head->get('Cc') or $MIMEObj->head->get('Bcc'));
    

    We should never have to set the MIME-Version header

    $self->SetHeader( ‘MIME-Version’, ‘1.0’ );

Networking – one letter away from not working

Hey, that’s great, it worked!

Looks like this made it into rc4 too, no?From: “Alex Vandiver” alexmv@bestpractical.com
To: “matthew zeier” mrz@intelenet.net
Cc: rt-devel@lists.fsck.com
Sent: Wednesday, July 14, 2004 8:23 AM
Subject: Re: [Rt-devel] mails to empty list, 3.2

Are Hans and I the only ones with this problem? Free beer to anyone who
can
help me find a fix to this.
I just ran into this, and spent a minute poking at it. The
FriendlyToLine is pushed onto the To: line if there isn’t anything
there, regardless if there are recipients in the Cc or Bcc. Later, when
the check of “does this have recipients” rolls around, there’s nothing
in the Cc or Bcc, but the FriendlyToLine in the To, so… off it goes!

I have fixed the problem in svn; it should be in the next 3.2
release. If you’re itching to fix it now, applying the following should
work.

  • Alex

Index: lib/RT/Action/SendEmail.pm

— lib/RT/Action/SendEmail.pm (revision 1228)
+++ lib/RT/Action/SendEmail.pm (working copy)
@@ -116,10 +116,11 @@
if ( !$MIMEObj->head->get(‘Bcc’) && $self->{‘Bcc’} && @{
$self->{‘Bcc’} } );

 # PseudoTo (fake to headers) shouldn't get matched for message

recipients.

  • If we don’t have any ‘To’ header, drop in the pseudo-to header.

  • If we don’t have any ‘To’ header (but do have other recipients),

drop in

  • the pseudo-to header.

    $self->SetHeader( ‘To’, join ( ', ', @{ $self->{‘PseudoTo’} } ) )
    if ( $self->{‘PseudoTo’} && ( @{ $self->{‘PseudoTo’} } )
  •    and ( !$MIMEObj->head->get('To') ) );
    
  •    and ( !$MIMEObj->head->get('To') ) ) and (
    

$MIMEObj->head->get(‘Cc’) or $MIMEObj->head->get(‘Bcc’));

 # We should never have to set the MIME-Version header
 $self->SetHeader( 'MIME-Version', '1.0' );


Networking – one letter away from not working

Hey, that’s great, it worked!

Looks like this made it into rc4 too, no?

It did.