RFC976 UUCP Mail Interchange Format

xiaoxiao2021-03-06  117

Organization: China Interactive Publishing Network (http://www.china-pub.com/)

RFC Document Chinese Translation Program (http://www.china-pub.com/compters/emook/aboutemook.htm)

E-mail: Ouyang@china-pub.com

Translator: Anpengwang Anpengwang@263.net)

Translation time: 2001-5-24

Copyright: This Chinese translation copyright belongs to China Interactive Publishing Network. Can be used for non-commercial use free reprint, but must

Keep the translation and copyright information of this document.

NetWork Working Group Mark. R. Horton

Request for Comments: 976 Bell Laboratories

February 1986

UUCP mail exchange format

(RFC976 UUCP MAIL Interchange Format Standard)

Memorandum state

In order to adapt to the current situation of the status and progress of the ARPA online different projects, special community members are released

This RFC. The content of this document is accurate as the date of the release is accurate, but the purpose is to further improve. Subsequent RFC

Will reflect these improvements.

This document defines the standard format of passing the mail message between the two machines in the UUCP project. This article does not involve a single platform

The storage format of the machine on the machine does not include a machine to get the underlying transmission mechanism of data from another machine. This article

The standards that should follow the host in the UUCP area. The distribution of this memorandum is not limited.

table of Contents

Introduction 1

2. Basis 2

2.1 Hybrid Addresses 2

2.2 Transmission 3

2.3 Batch SMTP 3

2.4 Envelope 4

2.5 Mail Routing 5

3. Algorithm 5

4. Example 6

5. Conclusion 7

6. Refer to 8

1 Introduction

The purpose of this article is to define the standard format of the transmitted message message between the host in the UUCP project, no discussion

The storage format on a machine does not involve a machine to obtain the underlying transmission mechanism of data from another machine. we

Assume that the remote execution of the RMAIL (or equivalent) command is the basic operation of the UUCP network.

One basic law is: If we try to invent a new standard, it is usually not compatible with existing systems. world

There is already too many (contradictory) standards, causing confusion, such as A !b@c.d, in accordance with the old UUCP standard

Released as A! (B@c.d), and in the world of Internet is (A! B) @ C.D. (Both standards do not support parentheses, otherwise

It can be compatible. The shell and UUCP transmission mechanism also have a serious problem).

The ARPA community has defined clear and scalable standard families with perfect documents, and we also choose these standards.

The should be used in the UUCP area. (UUCP zone is a subset of communities that use uucp connections and registration to UUCP projects, representatives

A management entity. Because the actual transmission mechanism depends on the arrangement of two hosts, UUCP, SMTP,

NMDF or other tools, we choose RFC920 (domain) and RFC822 (mail format) as the standard of the UUCP area

quasi. These two standards should be followed by mail transmission between all systems. In addition, if the ARPA community has changed him later

Our standards, we will also modify our standards to ensure compatible with it to provide a reasonable software upgrade time. This article details the explanation of RFC822 and RFC920 in the UUCP world, explaining how to encode envelope and

How to make UUCP search path in the hybrid realization environment.

2. Foundation

The message can be divided into two parts: envelope and message itself. Envelope includes information required by mail transport services, message packages

Includes information useful to the transceiver. The message is divided into the head and the main body. Sometimes the intermediate host changes the message (if added by Received)

Line), but unless the gateway needs to change the transmission format, the middle host generally does not modify the message itself. In the UUCP world,

Envelopes include "destination address" (usually behave as an RMAIL command) and "source address" (usually by the first line of the message)

Or initial lines, starting with "from" or "> from", also known as "from line"). RFC32 header

The line (including "from:" and "to:") as part of the message is the text of the message body itself.

UUCP uses a short mask name in the transportation layer and below, such as "UCBVAX". We put this short name "6 characters"

Name, because any UUCP is implemented at least the first six characters are valid. (Some put the top 7 or the first 14

The characters are considered valid, but we must use the lowest general standard. UUCP name can be longer than 6 characters, but before

6 must vary. The name of the RFC920 domain, such as "UCBVAX BERKELEY.EDU" called "Domain Name". These two names

It is different. Size is considered to be different for 6-character names, but it is considered to be the same for the domain name. 6-character name

Plus ".uucp", such as "Ubcvax.uucp" in the past as a reference to the domain format of the host using a 6-character name.

With the support of histological domain, such as "UCBVAX.BERKELRY.EDU", this type of name is gradually eliminated.

2.1 Hybrid Addresses

In the UUCP world mainly uses two email address syntax: "A! B! C! User" used by old uucp software (finished

The full path) format indicates the route that transmits the mail to the destination address; follow the RFC822 "User @ Domain" language

Law format. Most of the cases can determine the type of address according to a given address. But for @ 侧 侧 "" a! "

Mixed addresses, such as A! B @ c, there is confusion: that is, it can be interpreted as (a! B) @ C.D, or it can be interpreted as a! (B@c.d). This

Both explanations are meaningful, the former is used for RFC822, the latter is a factual standard for UUCP software.

Due to the confusion brought by the mixing address, we recommend that all transportation layer software should avoid using mixing at any time.

address. Purely complete address syntax can be used to clarify this confusion, the first explanation in the upper example can be written as "C.D! A! B",

The second explanation is written as "a! C.d! B". We recommend that all implementations use this "full domain" syntax unless they are indeed

Really know what to run on the next machine.

According to the RFC822 and AT & T messaging system, we recommend all hosts that allow the hybrid address to adopt (A! B) @ C.D

This explanation is explained.

2.2 Transmission

Because many UUCP domains do not support SMTP, we define the way "Remote Execution" in the transport mechanism.

basically. The command to "Remote Execute" should be read with its standard output information: Rmail User @ Domain .... parameter

User @ Domain must comply with RFC920 and RFC822. Allows multiple address parameters to send the same message

The transmission time can be saved when multiple recipients.

Another way is "Rmail Domain! User", "Domain" contains at least one comma and does not include "!". This representation can be accurately interpreted as user @ domain, which can transmit messages through old UUCP hosts without

The heart address is changed. The "User" string can contain any characters other than "@", which is forbidden to be because it is impossible

Determine how the middle host handles it. (It is also recommended to avoid using "%", some hosts will regard "%" as the synonym of "@"

word. However, if the transmission path contains hosts that do not understand the domain, the following format is possible:

Rmail a! b! c! Domain! User

The domain should include at least one comma, thus can be separated from the 6-character UUCP site name. (There are no functions in single-layer domain.

Point, you should add additional commodities at the end, such as Mark.horton@att, "att.! Mark.horton". Put! Format

The interpreter changed to @ format should delete the tail group - if any. We don't want such cases, unless

Local network uses addresses like User @ Host.

Simple application can only use the Domain! User syntax (not user @ Domian), because this way to 3

The gateway (see section 3.5) is also safe.

2.3 Batch SMTP

Compliance with standard implementations may choose to support a protocol called "batch SMTP". SMTP (simple mail

Transfer Protocol) is the standard mail transfer protocol of the ARPA community (RFC821), BitNet and Mailnet also use this association.

. Because SMTP is designed to interactively, make a series of commands to batch execution on wholesale to remote machines.

can. One advantage of BSMTP is that UNIX shell does not participate in the interpretation of the message, so that the electronic information can contain spaces.

And special characters such as parentheses (these characters will be very common in the X.400 address).

In order to make UNIX support BSMTP, the standard host should explain the user's mail command "B-SMTP" as

Batch SMTP (we use "B-SMTP" instead of "BSMTP" because the latter conflicts with a login name). because

Many mail systems handle the logo that contains a single functions as a "file tail", and SMTP uses a comma to use it as required

The file tail flag, in order to distinguish between the header, we add a special "#" in each row of BSMTP. Email

A simple way to achieve this in the system is to include the following alias:

B-SMTP: "| EGREP '^ #' | SED 'S / ^ # //' | / usr / lib / sendmail -bs"

This allows the command to the SMTP interpreter. Better solutions must also check the error and feed back the error message

Send a sender.

The following example illustrates a BSMTP message sent from Seismo.css.gov to cbosgd.att.com. This

An example is a file that is passed to the command "RMAIL B-SMTP" via the UUCP connection. Note RFC- 822 Message is located in DATA

Between the lines and teasings (the last line). Envelope information is passed in Mail from and RCPT TO. Transmission system

The name is in the Helo line. The actual envelope information (with "#" is overlooked, not necessarily

appear.

From foo! bar sun jan 12 23:59:00 1986 Remote from Seismo Date:

Tue, 18 Feb 86 13:07:36 EST

From: mark@sucbvax.berkeley.edu

Message-id: <8602181807.aa10228 @ mark @ ucbvax.berkeley.edu> to: b-smtp@cbosgd.att.com

#Helo seismo.css.gov

#Mail from:

#Rcpt to:

#Data

#Date: Tue, 18 Feb 86 13:07:36 EST

#From: mark@sucbvax.berkeley.edu

# Message-ID: <8602181807.AA10228 @ mark @ ucbvax.berkeley.edu> #to:

Mark@cbosgd.att.com

#

#This is a sample message.

#.

#Quit

2.4 Envelope (Envelope)

The standard input of the command should start with a separate line: from Domain! User Date Remote from system start, then

Tight the header and message main body with RFC822 format. There may be other from travels before this line - these lines

It can be increased, and each system will increase by the message. "System Field" may also be stacked into a single line,

"User" string contains many "!". "From" may have ">" characters in front of "FROM". Generally speaking, these "letters

The seal information should follow the same agreement as the old UUCP mail. The main difference is when the system name is compact writing

If the old way is A! B! C! Mysys! Me, new way of writing is changed to A! B! C! Mysys! Domain! ME, where "Domain"

At least one comma symbol is included, "MySys" is usually a 6-character uucp name called "Domain". in case

"Domain!" Is redundant, you can be omitted in the envelope - source path or destination address - omitted.

If you need to package the information into only one from line, the receiving system may drop the excess "from_" line.

It puts "Path! Domain! User" and "Envelope" - including the address of the message sender, may also generate a new one

For example, RECEIVED or SENT-BY, which saves forwarding date and forwarding system - send out together. (Not recommended

With Received, because such rows may be added to other systems before they really increase the row, while other systems

Universally, there may be a Received line. The Sent-BY line is similar to the ReceiveD line, but the date does not need to be changed.

The RFC822 format is not advocated to increase the row in advance by the system mentioned by the name. )

If the receiving system continues to forward the message to another system, it will add an from line in front, give

The same user @ domain address as the sender and adds its own system name. If the receiving system saves the message to the local letter

In the box, it is recommended to generate an from row and save the date before the message (using the same format, because some email reading

The reader is sensitive to this format) instead of using the "Remote from System" syntax format.

Note: If the intermediate system is in the User @ domain syntax format address - whether it is an envelope or a message body - before

Increase the text such as "System!", It does not meet this standard and RFC822 specification.

2.5 mail routing

In order to properly send emails, sometimes you need to understand what software has run or comply with the intermediate system.

What agrees. We used to try to minimize the amount of information, but support for subdomains may need to be in different bars.

Different methods are used under section. In order to predict the behavior of other systems, we divide the host into three categories. These three categories include: a class of only the old UUCP "!" Path. We envisage the host to understand the local username: "rmail user" and finished

The full path "Rmail Host1! Host2! User", but we don't make more assumptions for the host. If there is no about a certain

Any information on the host, we can use it as a first type of treatment without problems, because we are not right

It handles the hybrid address for any assumption.

The two-class old uucp "!" Path and 4.2BSD format domain parsing. We assume that in addition to having a class of hosts

Ok, you can also understand the "Rmail User @ domain", where "Domain" is located outside the UUCP area but the Lord

The machine can be identified. The second class host does not have to understand "Domain! User", nor does it require a router. Compliance with RFC920

The standard non-UUCP domain is considered a class two host, even if it is also possible to identify "Host! User".

The three categories have all the features of a class and two-class host. In addition, the three-class host can also send a remote host

UUCP mail and can understand the syntax "Ramil Domain! User as described above." All connected to uucp

The gateway must be a third class.

This document describes the features that the three types of hosts must have. One class and two-class host already exist and will continue to be quite

For a long period of time, it is considered "outdated system" and will eventually upgrade to the status of the 3-class host.

3. Algorithm

The algorithm for delivering messages via UUCP connection to address user @ domain can be overview:

a. If the actual format of the address is @ domain1: user @ Domain2, put "Domain1" instead of

"Domain2" is retained as "doamin", and the complete format is read as "Domain1! Domain2! User".

b. Determine the most clear part of the "Domain" that can be identified locally, record "D:", which should be

"Domain" suffix. This work can be done by scanning a table, and the entry is from special to one.

The sequential order, the comparison entry and "Domain" check whether the entry matches the tail of "Domain".

For example, for the address mark@osgd.cb.att.com, if the local host can identify "uucp" and "att.com",

Then D should be "att.com". The last item of the table is an empty string, which matches the domain that is completely unrecognized.

c. View basic table entry (FOUND TABLE Entry) looking for gateway name (g :) and UUCP to g! "

Path "R:". G does not have to be connected directly to the local host, but should be considered a gateway for connection domain D. (Correct

At a given D, G and R on different hosts may have different values, but g is usually the same)

d. Find "next hop" host N, N, which is always connected directly to the local host.

e. If you may determine the type of G and N.

f. Establish an appropriate target string S that can be explained (see below).

g. Pass the message and the target information S to N.

If the environment includes other types of networks that do not use uucp "!", There may be additional

Information, such as use. Path information may be replaced with special letters of that network in other environments

interest.

The first item in the table mentioned in the above second step (b) is generally very accurate, and the well-known path can be directly constructed.

No need to travel through the domain tree. The domain tree is only used for the following case: there is no more detailed information; the amount of information is small; the default

The path is the best choice. This information can be written in the table if there is a better path. If the host has a lot of information

Transfer to the second host, it is generally desirable to establish a direct UUCP connection between the two hosts and establish a corresponding entry to directly pass the message, even if the two hosts are in different domains. The construction of the path table should be the largest traffic

Keep the shortest and cheapest path.

Here is a number of tips for the structure of the target string n (the sixth step F). If the send site is determined, the next hop is

Three types of hosts, then "Envelope Recipient" information (RMail s parameters) can use domain "!" Format

(Host.com! User, you can also use the domain "@" format (user@host.com). If the next hop is not three types of hosts,

Or if you send a site that you can't be determined, you should use "!" Format as much as possible, because you can't predict how the next hop will process mixed

Match address.

If the known gateway is a third class, you can use the domain "!" Format, but if the send site cannot determine its type, or

The target string is completely matched (not with a parent domain), you should use 6 characters "!" Format "R! User",

Such as "Dumbhost! Host! User". If the gateway seems to be actually a gateway of a sub-domain, it matches a parent domain (eg

Address User@host.gateway.com, did not find host.gateway.com but found GATEWAY.com,

Assume it as a third class. This can be safely used in a certain extent

Dumbhost! domain! host.domain.com! User paths. If there is a direct connection to the target host, you can

Use User @ Domain or Domain! User two syntax formats.

The host that meets this standard is three types of hosts, and all sub-domain gateways must be three types of hosts.

4. Example

Suppose host a.d.com sends an email to host C. D.com. The 6-character names of the two hosts are aname

And DNAME, the middle host BNAME.

User input: mail user@c.d.com

The user interface generates a file and uses the command (such as sendmail user@c.d.com

The contents of the document are as follows:

Date: 9 Jan 1985 8:39 EST

From: myname@a.d.com (my name)

Subject: Sample Message

To: user@c.d.com

This is a name message

The transmission mechanism finds the path to c.d.com, but did not find in the database; so looking for D.com, find its road

The path is BName! DNAME!% S, and found that c.cd.com is three-class hosts. Then join C. D.COM! User, get a road

Vault BNAME! DNAME! C. D.COM! User. (If the path of C. D.COM is found to be BName! CNAME!% S, result path

BNAME! CNAME! The domain in User will be ignored because which type of target host is not confirmed. )

The transmission mechanism prepares an from line and passes it to UUX: UUX - BNAME! RMAIL DNAME! C. D.com! User <

File2, file2 includes:

From a.d.com! User Wed Jan 9 12:43:35 1985 Remote from aname date:

9 Jan 1985 8:39 EST

From: myname@a.d.com (my name)

Subject: Sample Messageto: User@c.d.com

This is a name message

(Note the empty line of the message tail - at least one blank line.) This will cause the b host execute command: Rmail

DNAME! C. D.COM! USER. B Prepare its own from line and continue to forward mail: UUX - DNAME! RMAIL

C. D.COM! User

From nuucp Wed Jan 9 12:43:35 1985 Remote from Bname> from

A. D.com! User Wed Jan 9 11:21:48 1985 Remote from Aname Date: 9

Jan 1985 8:39 EST

From: myname@a.d.com (my name)

Subject: Sample Message

To: user@c.d.com

This is a name message

C Host execution command: rmail c.d.com! User and compress the FROM line, then save the message to the local - may

Use the same format:

From BName! Aname! A.d.com! User Wed Jan 9 12:43:35 1985 Date: 9

Jan 1985 8:39 EST

From: myname@a.d.com (my name)

Subject: Sample Message

To: user@c.d.com

This is a name message

5 Conclusion

The host that meets this standard can accept all the formats:

Rmail Localuser (excluding "!", "%", "@")

Rmail Hosta! Hostb! User (User does not include "!", "%", "@")

Rmail User @ domain (there is only a promise in the domain ".")

Rmail Domain! User (at least one comma in the domain ".")

Rmail Domain.! User (there is no dot in the domain)

The envelope section of the message should follow the existing agreement to use the "!" Path. The head of the message (Word:

Row, such as Date:, from:, to: and subject :) must comply with RFC822 specification. All the address must be @

formula. The original site should ensure that the address is in line with RFC822, and cannot require forwarding sites or gateways to convert the address into legitimate.

RFC822 address. (The same forwarding site or gateway must not transform the legal RFC822 address user @ domain

Compliance with the address of RFC822 Gateway! User @ Domain, even if you want to forward it to a Class of UUCP hosts. )

6. Reference

[1] Postel, J., "SIMPLE Mail Transfer Protocol", RFC-821,

USC / INFORMATION SCIENCES Institute, August, 1982.

[2] CROCKER, D., "Standard for the format of arpa internet text

Messages, RFC-822, Department of Electrical Engineering,

University of DelaWare, August, 1982.

[3] Postel, J., And J. K. Reynolds, "Domain Requirements", RFC-920,

USC / INFORMATION sciences Institute, October, 1984.

RFC976 UUCP MAIL Interchange Format Standard UUCP Switching Format

1

RFC Document Chinese Translation Program

转载请注明原文地址:https://www.9cbs.com/read-125945.html

New Post(0)