[net.mail.headers] Need for new field in RFC and MHS standards

Vshank%Weizmann.BITNET@WISCVM.ARPA (Henry Nussbacher) (12/09/85)

Does a field exist in the MHS specification to specify whether a program
has created the mail?

Allow me to give an example:  More and more programs (call it server
machines or deamons or whathaveyou) are learning to process RFC822
(RFC920) mail and to perform some function for the user (Database
search, batch FTP request, auto-reply, gateways, etc.).

Another feature becoming more common is for mail systems to return
bounced mail to the original user for various reasons (userid no
longer valid, disk quota used up, unable to connect to host, etc.)
We have all seen these bounced mail files.  We read them and can
discern right away that the mail arrived via program generation and
not via a human being.

Scenerio:  user@Uclamvs.Bitnet sends mail to a server/deamon.  The
server/daemon processes the request and sends some output back to the
user.  For some reason the mail software at Uclamvs cannot deliver the
mail and rejects it back to the sender.  The mailer builds a From:,
To: and Subject: line in most cases and then imbeds the rejected mail
inside its own envelope.  The mail is sent back to the server/daemon
which doesn't know that the incoming mail was computer generated
and attempts a reply.  In most cases the syntax/format will not
be valid and the server/daemon will generate a piece of mail giving
some error message back to the mail system at Uclamvs.  Infinite
network loop.  Currently, I have a table built into my software; if
mail arrives with a character string of Daemon, Mailer, Mailman,
Postmast, System, Smtpuser (just to name a few of those I have
observed) then my software throws the mail into a wastebasket for
human processing at a later date.  But quite often, some new node
in some network comes online and decides to send out it's mailer
generated mail with a From: line that is foreign to my table.  Network
loop - until I spot it and add it in.

Users are starting to write programs/daemons to run on their ids
while they are away for vacation that sends out a predefined piece
of mail saying that they are on vacation until mm/dd/yy but don't
worry, your mail has been logged and will be read when they return.

What is needed is an additional field in RFC822 and a field in
MHS that indicates that the mail was computer generated rather
than human generated and therefore do not reply to it.

Example:
From: Network Mailer <mal%cornella.bitnet@Wiscvm.Wisc.Edu>
Auto: MAILER

where Auto: could be one of the following values:
      MAILER
      REPLY
      PROGRAM

or anything else people could think of.

In Kille's chapter 2.3 he discusses Non-Delivery Notification and
Prevention of Non-Delivery Notification.  If these fields are standard
X.400 then perhaps it is just the Internet that needs to come up with
a new field.

Comments encouraged.

Hank

mrose%NRTC@USC-ECL.ARPA (Marshall Rose) (12/09/85)

In addition, MHS has the notion of a protocol field which says what type
of protocol is being used.  The only defined value is "P2" which stands for
InterPersonalMessage.  Other values will probably be defined in the future.

In the standard 821 world, there is NO need for what you suggest.  The
message's envelope contains (among other things) a return-address.  What
programs which generate messages should do (if they don't want to see a
failure notice) is simply leave the return-address blank.  This is understood
to mean "don't tell me about it if it loses".

/mtr

Tommy_Ericson__QZ%QZCOM.MAILNET@MIT-MULTICS.ARPA (12/10/85)

Not only do we need a way to indicate WHO/WHAT has created a
message, but also the TYPE of a NAME. Example: in X.400 the current
definition of an O/R name cannot be used (properly) to refer
to a distribution list (sending to it) or a distributor (after
expansion).

As for personal agents issuing On-Holiday messages I would
like to have possibilities to adding things to a PersonalName,
e.g.
   US.mumble.mumble.PersonalName.WatchDog
or                              .FolderName
which would allow easier mapping onto some well-known existing
mail systems.

Tommy

GRZ027%DBNGMD21.BITNET@WISCVM.AR (Peter Sylvester +49 228 303245) (12/10/85)

A comment to Hanks message:

  Scenerio:  user@Uclamvs.Bitnet sends mail to a server/deamon.  The
  server/daemon processes the request and sends some output back to the
  user.  For some reason the mail software at Uclamvs cannot deliver the
  mail and rejects it back to the sender.  The mailer builds a From:,
  To: and Subject: line in most cases and then imbeds the rejected mail
  inside its own envelope.  The mail is sent back to the server/daemon
  which doesn't know that the incoming mail was computer generated
  and attempts a reply.  In most cases the syntax/format will not
  be valid and the server/daemon will generate a piece of mail giving
  some error message back to the mail system at Uclamvs.  Infinite
  network loop.  Currently, I have a table built into my software; if
  mail arrives with a character string of Daemon, Mailer, Mailman,
  Postmast, System, Smtpuser (just to name a few of those I have
  observed) then my software throws the mail into a wastebasket for
  human processing at a later date.  But quite often, some new node
  in some network comes online and decides to send out it's mailer
  generated mail with a From: line that is foreign to my table.  Network
  loop - until I spot it and add it in.

The describe scenario is not true from the design point:

When the UCLAMAIL-mailer returns a message via the "RETURN
TO SENDER" feature, it uses a from: address as POSTMAN. In
the NJE header the Origin user is set to MAILER.  When the
second invalid message is return it gets to either MAILER or
POSTMAN depending on what the server machine uses.
Therefore no loop will occur if server machines are
"replying" correctly. The error is that the UCLA-MAIL sets
MAILER as NJE header. I will change that in my version:
For a "RETURN-TO SENDER" message POSTMAN will be used in
both fields. That problem also applies to VM-Mailers I guess.

Hank: (please describe the LOOP situation in detail to ME.)

  Users are starting to write programs/daemons to run on their ids
  while they are away for vacation that sends out a predefined piece
  of mail saying that they are on vacation until mm/dd/yy but don't
  worry, your mail has been logged and will be read when they return.

  What is needed is an additional field in RFC822 and a field in
  MHS that indicates that the mail was computer generated rather
  than human generated and therefore do not reply to it.

This problem cannot be cured by a new RFC822 fields. The EARN network
server uses another approach. It keeps a log of invalid requests
for any user. If a threshold is reached (like HOT IO ERRORS)
no further requests are accepted from this user. The node
manager of the users node has the ability to reset that state.

For interactive REPLY-MESSAGES (Gone, will be back in...) there
is a convention that they should start with an asterisk.
SERVER machines should not react on messages with *.

A good combination of SENDER/FROM-fields and NJE-header can help:
I discovered a problem with some server machines that if a mailer
is used, the server sends the reply to the MAILER and not to the
user. I.e. it uses the NJE-headers in those cases.

Two interpretation are possible: IF the server machine CLAIMS to
use RFC822 it should respond to the FROM/REPLY-TO address.
If the server is not able, it should reply to to the NJE sender
and put itself as FROM: field into the message.

If the MAILER does not claim to use RFC822, it is a problem of
the sending MAILER. Many server use the NJE-origin userid field
(display as user in a VM RDRLIST). In general VM-MAILER and
and also the UCLA-Mail mailer set the NJE filename to the userid.
In case of MAILER, these two fields are different. SERVER machines
could either reject such messages or send it to any of the
two userids. If it uses the SERVER userid the message will
normally be put in the target servers box (=postman's box.)

Kille's report only handle RFC822 mailers. The approach there is
obvoiusly the right one. BUT: MOST SERVER machines DO NOT
know anything about RFC822.

Comments encouraged.

Peter

BTW: if the following  addresses are "distribution list" or
conferences, would anyone be so kind to add me?:
    <MHS_implementation@wisc-rsch.ARPA> ,
    <ARPA-mhs@BRL.ARPA>
..
QUIT