The Boston Diaries

The ongoing saga of a programmer who doesn't live in Boston, nor does he even like Boston, but yet named his weblog/journal “The Boston Diaries.”

Go figure.

Wednesday, August 23, 2000

Exchange Blows, and here's why

I found out the problem Spring was experiencing with Exchange. Here's the email I sent her describing the problem:

It was thus said that the Great Spring Dew once stated:

Did the copy of the message that I forwarded you have the full headers on it? In case not, here it is. Maybe this will help.

Got it! I figured out what Exchange is doing that is causing this. Leave it to Microsoft to break SMTP this badly. Grab some popcorn and watch (lines with “>” are what I type, and lines with “<” are the computer's response):

  >     telnet smtp
  <     Trying
  <     Connected to
  <     Escape character is '^]'.
  <     220 ESMTP Sendmail 8.8.7/8.8.7; Wed, 23 Aug 2000 15:05:58 -0400

Okay, here I connected (manually) to my mailserver. After a quick

  >     helo
  <     250 Hello [], pleased to meet you

To initialize the connection, I then did:

  >     expn
  <     250 <|/home/spring/bin/>

Then, I did the following:

  >     mail from:<>
  <     250 <>... Sender ok
  >     rcpt to:<>
  <     250 <>... Recipient ok

Okay, this tells the mailserver who the mail is from, and where it's going to. Then the actual message itself:

  >     data
  <     354 Enter mail, end with "." on a line by itself
  >     From:
  >     To: |/home/spring/bin/connected

Notice the To: line. I think what Exchange is doing is substituting the given address (——) with the expanded address (/home/spring/bin/connected), trying to be “helpful” but blowing the entire process up.

  >     Subject: This is a test
  >     This is a test.  It won't go through.
  >     .
  <     250 PAA03898 Message accepted for delivery
  >     quit
  <     221 closing connection
  <     Connection closed by foreign host.

And the message is accepted, but during processing will be rejected and a message bounced back.

Nice, eh?

-spc (Bloody Exchange … )

Informing Mark about it, he thinks (much to his regret) that Exchange might be allowed to do that as part of the SMTP protocol. I'll have to check up on that and see.

Sendmail Blows, and here's why

My my my … it looks like sendmail might be the culprit here, not Exchange. As per RFC-821:

      "User name" is a fuzzy term and used purposely.  If a host
      implements the VRFY or EXPN commands then at least local mailboxes
      must be recognized as "user names".  If a host chooses to
      recognize other strings as "user names" that is allowed.

      In some hosts the distinction between a mailing list and an alias
      for a single mailbox is a bit fuzzy, since a common data structure
      may hold both types of entries, and it is possible to have mailing
      lists of one mailbox.  If a request is made to verify a mailing
      list a positive response can be given if on receipt of a message
      so addressed it will be delivered to everyone on the list,
      otherwise an error should be reported (e.g., "550 That is a
      mailing list, not a user").  If a request is made to expand a user
      name a positive response can be formed by returning a list
      containing one name, or an error can be reported (e.g., "550 That
      is a user name, not a mailing list").


         EXPAND (EXPN)

            This command asks the receiver to confirm that the argument
            identifies a mailing list, and if so, to return the
            membership of that list.  The full name of the users (if
            known) and the fully specified mailboxes are returned in a
            multiline reply.

            This command has no effect on any of the reverse-path
            buffer, the forward-path buffer, or the mail data buffer.


From my reading, it seems that sendmail should not be sending back the program name, but rather, it should just return the email address passed in.

This is not good …

Obligatory Picture

[It's the most wonderful time of the year!]

Obligatory Contact Info

Obligatory Feeds

Obligatory Links

Obligatory Miscellaneous

You have my permission to link freely to any entry here. Go ahead, I won't bite. I promise.

The dates are the permanent links to that day's entries (or entry, if there is only one entry). The titles are the permanent links to that entry only. The format for the links are simple: Start with the base link for this site:, then add the date you are interested in, say 2000/08/01, so that would make the final URL:

You can also specify the entire month by leaving off the day portion. You can even select an arbitrary portion of time.

You may also note subtle shading of the links and that's intentional: the “closer” the link is (relative to the page) the “brighter” it appears. It's an experiment in using color shading to denote the distance a link is from here. If you don't notice it, don't worry; it's not all that important.

It is assumed that every brand name, slogan, corporate name, symbol, design element, et cetera mentioned in these pages is a protected and/or trademarked entity, the sole property of its owner(s), and acknowledgement of this status is implied.

Copyright © 1999-2023 by Sean Conner. All Rights Reserved.