SMTP instructions

zhaozj2021-02-16  64

Simple Mail Transfer Protocol (SMTP)

Introduction SMTP Model SMTP Procedure SMTP Description TCP Transport Service NCP Transport Service NITSX.25 Transport Service Answer Method Some examples

1. Introduction The goal of the Simple Mail Transfer Protocol (SMTP) is reliable and efficiently transmitting messages, which is independent of the transmit subsystem and only one channel that can guarantee the sequence of data units. Appendix A, B, C, and D describes the use of SMTP under different delivery services. The terminology used in this document is also defined in the noun table. An important feature of SMTP is that it can transfer emails in transmission, and the transfer service provides the process communication environment (IPCE), which can include a network, several networks, or a network of subnets. It is important to understand that the transfer system (or IPCE) is not one-on-one. The process may communicate directly with other processes through known IPCE. The email is an application or inter-process communication. The message can be sent across the network through a process on different IPCEs. More particularly, the message can be transmitted through host Press in different networks. 2. The SMTP model SMTP design is based on the following communication model: Send SMTP to establish a two-way transmission channel between the SMTP establishment and the receiving SMTP for the user's mail request. The receiving SMTP can be the final recipient or an intermediate transmitter. The SMTP command is sent by the sending SMTP, and the response is received, and the response is transmitted. Once the transfer channel is established, the SMTP sender sends a mail command to indicate the mail sender. If the SMTP recipient can receive an email, returns the OK answer. SMTP sender issues the RCPT command to confirm if the message is received. If the SMTP recipient is received, the OK response is returned; if you cannot receive it, you will issue a rejection receiving answer (but do not abort the entire mail operation), both parties will repeat multiple times. When the recipient receives all the emails, the special sequence will be received. If the recipient successfully processes the message, the OK response is returned. SMTP provides a mechanism for transferring mail. If the receiver is connected to the sender connection, the message can be transferred directly from the sender host to the receiver host; or when the two are not under the same transfer service, Follow the SMTP server. In order to be able to provide relay power for the SMTP server, it must have the final destination host address and mailbox name. The mail command parameter is the reply path. It specifies where the message is coming; and the parameter of the RCPT command is the forwarding path. It specifies where the message is deserved. The forward path is the source path, and the reply path is the return path (which is used to return mail when an error occurs). When the same message is to be sent to different recipients, SMTP encounters a problem with a replica that sends the same copy to different recipients. There is a quicker syntax, and there is a digital code. In the following, what can be seen in the examples using the actual commands and answers. Complete commands and responses in Section 4. Commands and response to case sensitive, that is, commands and responses can be uppercase, lowercase or mix of both, but this is not necessarily pair for user email name, because some hosts are case sensitive It is sensitive. In this way, the SMTP implementation retains the user's mailbox name to the initial sample, and the host name is not sensitive to case. Command and response consist of an ASCII alphabet that when the transfer service provides an 8-bit byte delivery channel, each 7-bit character is transmitted correctly, and the highest bit is filled with 0. When the general command or answering format is specified, the parameters are represented by some strings similar to the language, such as "" or "", here anesthesia indicates that this is a similar language. variable. 3. SMTP process This section provides some processes in SMTP. One illustrates the basic transmission process (defined as a transmission operation). Down describe the forward mail, confirm the mailbox name and extended mailing list, send it to the terminal and turn off. At the end of this section, an explanation of the interruption and mail field.

Examples of this section are only part of the commands and responses, and the complete example see Appendix F. 3.1. Mail has three steps in the SMTP send operation, and the operation is given by the mail command to give the sender ID. A series of RCPT commands followed, and the recipient information is given, then the DATA command lists the sending message content, and the last message content indicator confirms the operation. The first step in the process is the mail command, includes a source mailbox. Mail from: This command tells the recipient's new sending operation that has started, please reset all status tables and buffers. It gives the reverse path to return the error message. If the request is received, the recipient returns a 250 OK answer. The mailbox is more than reflected in , which includes the reverse route of the host and source mailbox, where the first host is a host that sends this command. The second step in the process is to send the RCPT command. RCPT to: This command gives a forward path identifier receiver. If the command is received, the recipient returns a 250 OK response and stores a forward path. If the recipient is unknown, the recipient returns a 550 Failure response. This process may repeat several times. Not only includes emails, it is a routing table of the host and destination mailbox, where the first host is the host that receives the command. The third step in the process is to send a DATA command. Data If the command is received, the recipient returns a 354 Intermediate response and determines that the following lines are the contents of the letters. When the letter ends and stores, the recipient sends a 250 OK response. Since the message is sent on the transfer channel, you must indicate the end of the message content so that the response dialog can be restarted. SMTP indicates the end of the message content by transmitting only one period in the last line, in the receiver, a transparent process of the user, is filtered out to not affect normal data. Note: The email includes the following tips: Date, Subject, To, CC, from. The mail content indicator confirms the email operation and informs the recipient to store and send data. If this command is received, the recipient returns a 250 ok answer. The DATA command fails only if the mail operation is not completed or the source is invalid. The process described above is a transmission operation. These commands can only be used in the order above. The following example shows the use of these commands in a transmission operation. -------------------------------------------------- --------- SMTP Process Example This example is Jones, Green and Brown, send mail to the Beta.arpa host's SMIS, Green and Brown, where host alpha is directly connected to host Beta. S: Mail from: r: 250 ok s: rcpt to: r: 250 ok s: rcpt to: r: 550 no such user Here S: RCPT TO: R: 250 OK S: DATA R: 354 Start Mail Input; end with . S: Blah Blah Blah Blah Blah ... S: ..., etc. Waiting for S: . R: 250 ok This letter is received by the first two, and the third person has no mailbox on this host.

-------------------------------------------------- ----------- 3.2. Forward below is the incorrect address of the destination address in , but the recipient knows an example of the correct destination address. In these examples, one of the following answers should allow the sender to obtain the correct address. 251: The user is not locally; will be sent forward to . This response means that the recipient SMTP knows the user's mailbox on another host, and it means that the correct steering path will be used in the future. Please note that hosts or users, or both are different. The recipient is responsible for transmitting the message.

551: User is non-local, please try This response means that the receiving SMTP knows the user's mailbox on another host and means using the correct forwarding path. Note Please note that hosts or users, or both are different. The recipient refuses to receive the user's letters, and the sender must re-transmit according to the information provided or returned to the original sender back an error message. The following example shows the application of these responses. Forward examples S: rcpt to: r: 251 user not or s: rcpt to: R: 551 USER NOT LOCAL; please try ------------------------------- ----------------------------- 3.3. Confirmation and Extended SMTP provides additional ability to confirm the username and expand the mailing list. These functions are done by the VREF and EXPN commands, which are parameters with strings. For the VREF command, the string parameter refers to the username, the response to this command to include the user's naming and user mailbox. For the EXPN command, the string parameter refers to a mailing list, more than one response to this command, which includes the user's naming and their mailboxes in all lists. "User Name" is a redundant project, it is intentionally plus. If the host uses the VREF command and the eXPN command, the last local mailbox must provide the user name to confirm it by the host. Allowable if the host selects a user name by another string as a username. In some hosts, the email list and the name of a mailbox are unclear because the general data structure may include two types of portals. If you want to issue a confirmation of the mailing list, you should give a determination response. After receiving this message, the host will transfer the message to all the addresses on the list. If you do not receive a determination response, an error will be reported. For example, "550 That IS A Mail List, Not a User Name". If the request is used to extend a username, it is possible to form a determination response by returning a list that includes a name, and if no determination response is received, an error is reported. (For example, "550 That IS A User Name, Not a Mailing List"). In the case of multiple responses (usually for EXPN), each response specifies a mailbox. In the case of a fuzzy request, for example, "VRFY Smith", the response of the two Smith here must be "553 user ambiguous".

Confirm that the username is as shown in the following example: Example 3: ------------------------------------- ------------------------ Confirm user name S: VRFY Smith R: 250 Fred Smith or s: vrfy smith R: 251 User Not Local; Will Forward to or s: VRFY Jones R: 550 String Does Not Match Anything. Or S: VRFY Jones R: 551 User Not Local; please try or S: VRFY Gourzenkyinplatz R: 553 User Ambiguous. --------------------------------- ---------------------------- The mailbox list requires multiple responses. -------------------------------------------------- - Example of expansion mailing list S: EXPN EXAMPLE-PEOPLE R: 250-JON POSTEL r: 250-Fred Fonebone R: 250-Sam Q. Smith r: 250-quincy smith <@ USC-isif.arpa: Q-SMITH@isi-vaxa.arpa> r: 250- r: 250 or

S: EXPN EXECUTIVE-WASHROOM-LIST R: 550 Access Denied to you. ---------------------------------- --------------------------- VERF and EXPN commands The parameters cannot be limited by the specific implementation. On some systems, the parameters of the EXPN command may be a file name containing the mailing list, but there are many different file structures on the Internet. The VRFY and EXPN commands do not include the minimum implementation that they do not require inter-transmission between the transmitting when they are implemented. 3.4. The main purpose of the sending letter and the SEnding SMTP is to send mail to the user's mailbox. Similar functions provided by some hosts are to send emails to the user's terminal (if the user is turning on the terminal). Send a message to the user's mailbox, called a transmission letter; and send it to the user terminal called a letter. Because in some hosts, the implementation of both is very similar, so they are also placed in SMTP. However, obtaining the letter command is not in the minimum implementation of SMTP. Users should have the ability to control to write information to the terminal. Most hosts allow users to accept or reject similar information. The following three commands are defined to support access. They are used in the mail command instead of the mail command, indicating the special meaning of receiving this operation: Send from: send commands require mail content to the user terminal. If the user does not turn on the terminal (or does not receive terminal information), the 450 response will return an RCPT command. This operation is successful if the information is successfully sent. SOML from: send or mail commands require direct mail content to the user's terminal (if the user is on the terminal). If the user is not in the terminal, the message content directly into the mailbox. If the message is sent to the user terminal or user mailbox, the transmission operation is successful. SAML from: send and mail commands require mail content to be sent directly to the user terminal (if the user is on the terminal). Anyway, letters will enter the mailbox. If the letter enters the mailbox, the send operation is successful. The response of the mail command is the same as those of these commands. 3.5. Opening and closing When the transfer channel is turned on, exchange some information to determine the identity of both parties. The following command is used to open and close: Helo Quit In the Hello command, the host sends a command yourself, this command can be explained: "Hello, I am XX" .

-------------------------------------------------- ----------- Example of opening coupled R: 220 bbn-unix.arpa Simple Mail Transfer Service Ready S: Helo USC-INIF.ARPA R: 250 BBN-UNIX.ARPA ------ -------------------------------------------------- ----- --------------------------------------------- ---------------- Close the connection: quit r: 221 bbn-unix.arpa service closing transmission channel --------------- -------------------------------------------- 3.6. Forward forwarding The path may be formatted: "@ one, @ two: joe @ Three", here, One, Two and Three are hosts. This format is used to emphasize the difference between addresses and paths. The mailbox is absolute address and the path is about how to arrive. These two concepts should not be confused. Conceptually, the element of the forwarding path is moved to the reply path as information from an SMTP server to another SMTP server. The reply path is a reverse data source path, such as from the location of the current information to the position of the initiator. When an SMTP server removes its own tag from the forwarding path and insert it into the reply path, it must use the name it can understand to prevent its name to prevent its name in a different environment is understood to be different. first name. This element is not deleted from the forwarding path when the first element of the forwarding path of the SMTP is not the SMTP tag, which is used to determine the SMTP server that the next should be sent. In any case, SMTP adds its own tag into the reverse path. When using the source path, receive SMTP receive forwarding messages and send it to another receiving SMTP server. The receiving server can accept or refuse to forward the local user's mail. Receive SMTP changes command parameters by moving its own tag from the beginning of the forwarding path to the response path. At this time, the receiving SMTP becomes the transmission SMTP, and the channel of the SMTP in the next forwarding path is established, and then it sends an email to this SMTP. One host on the reply path should be a host that sends the SMTP command, and the first host on the forwarding path should be a host that receives the SMTP command. Note: The forwarding path and reply path appear in the SMTP command and a response, but do not have to appear in the information. That is, there is no path in this form to "TO:", "from:", "from:", and "CC:", etc. in this path. If the SMTP server accepts forwarding tasks, but later it finds that the forwarding path is not correct or other principles cannot send mail, it must establish a "undeliverable mail" signal to send it to this letter to the letter. This signal must be issued from the SMTP service of this host. Of course, this server should not report an error in error information. A condition that blocks this error report cycle is to set it on the reply path of the signal's mail command. When this information is transferred, the reply path is allowed to be empty. The reply path after a mail command is empty as the following form: Mail from: <> The following example shows that the invoice information is displayed. This information is a response to the message issued from Joe on HostW, which is in Hostx needs to respond when Hostz reaches Hosty. The example we see is between Hostx and Hosty.

-------------------------------------------------- ---------- Example of unloading mail information S: Mail from: <> r: 250 ok s: rcpt to: <@ hostx.arpa:joe@hostw.arpa> r: 250 ok s : DATA R: 354 Send the mail data, end with. S: date: 23 Oct 81 11:22:33 s: from: SMTP@hosty.arpa s: to: joe@hostw.Arpa s: Subject: Mail System PROBLEM S: s: sorry joe, your message to sam@hostz.arpa lost. S: Hostz.arpa said this: s: "550 no such user" s:. R: 250 ok ---------- -------------------------------------------------- - 3.7. Domain field is recently introduced into the ARPA Internet mail system. The domain can make the address space from a plane normal string host name into a hierarchy of the global address. The host is replaced by a domain name, and the starter consists of a series of paracels, which are arranged in the most special order by a comma. For example, "USC-ISIF.ARPA", "Fred.cambridge.uk" and "PC7.lcs.mit.arpa" may be a host-domain identifier. Regardless of how the domain name is used in SMTP, only formal names can be used, and a pseudonym or nickname cannot be used. 3.8. Change the role TURN command to change the role of the program that communicates on the transfer channel. If the program A is now sending SMTP, it sends a TURN command and receives the OK answer (250), it will turn the SMTP. Similarly, the program B can also become SMTP from the receiving SMTP. To refuse to change the role, the recipient can send 502 as a response. Note: This command is optional. This command is generally not used when the transfer channel of the TCP is used. However, this command is useful when the cost of establishing a transmission channel is relatively large. For example, this command can support a general public switched telephone system as a transmission channel. 4. SMTP Description 4.1. SMTP Command 4.1.1. Command Syntax SMTP command defines mail transfer or by user-defined system features. Its command is a string ended by . In the case of parameters, the command itself is separated by and parameters, and if the unveiled parameters can be directly connected to . The syntax format of the mailbox must be consistent with the format of the receiving site. The SMTP commands and answers are discussed below. Sending an email operation involves different data objects, which are connected to each other by different parameters. The reply path is the parameter of the mail command, and the forwarding path is the parameter of the RCPT command, and the email date is the parameter of the data command. These parameters or data objects must follow the command. This model also requires different buffers to store these objects, that is, there is a reply path buffer, a forwarding path buffer, a mail content buffer. The specific command produces its own buffer or makes one or more buffers to be cleared. Hello (hello) This command is used to confirm the transmit SMTP to the received SMTP. The parameter domain includes host names that send SMTP. Receive SMTP to confirm the receiving SMTP to the send SMTP by the connection confirmation command. The talent order and the OK response confirmed that the transmission and reception of SMTP entered the initial state, that is, no operation is being executed, all state tables and buffers have been removed.

Mail (Mail) This command is used to start sending messages into a plurality of mailboxes. The parameter domain includes a reply path. An optional host and sender mailbox list is included in the return path. When there is a list of hosts, it is a reply path source, which indicates that this mailbox is transmitted by the host in the table (the first host is the last host that receives this message). This table also has a source path to the sender returns a non-transfer signal. Because each delivery host address is added at this table, it must use the send IPCE instead of receiving IPCE (if they are not an IPCE) clear name. The reply path of some error messages may be empty. This command clears the reply path buffer, forward the path buffer, and the mail content buffer, and inserts the reply path information of this command into the reply path buffer. Recipient (RCPT) This command is used to determine the unique recipient of the message content; multiple recipients will be specified by multiple this command. An optional host and a must-purpose mailbox are included in the forwarding path. When a list of host appears, this is a source path, which indicates that the message must be sent to the previous host in the list. If the delivery transmission of the SMTP does not implement the message is received, information such as unknown local users (550) is returned to the user. When the message is transmitted, the delivery host must put its name by the beginning of the forwarding path to the end of the response path. When the message finally reaches the destination, the receiving SMTP will insert the target email with its host mail format. For example, when a message received by the transfer host A, from: to: <@ Hosta.arpa, @ hostb.arpa: userc@hostd.arpa> will become as follows : From: <@ hosta.arpa:userx@hosty.arpa> to: <@ hostb.arpa :userc@hostd.arpa> This command causes its forwarding path parameters to join the forwarding path buffer. The Data (DATA) recipient will follow the line after the command as the message content. This command causes the mail content after this command to join the mail content buffer. The email content can include all 128 ASCII code characters. The message content is ended by only a row of a period, that is, the following character sequence: ". ", it indicates the end of the message. The end of the email indication requires the recipient to process saved mail content. This process will reply to the path buffer, the contents of the forwarding path buffer, and the mail content buffer are all emptied. If the operation is successful, the recipient must return to the OK response; if the failure must return a failed answer. When receiving SMTP receives a message, whether it is used as a forward or this message has arrived at the destination, it must add timestamp at the beginning of the message content, this line indicates that the mail host and the message is issued. The logo of the host, and the time and date of receiving the message content. The forwarded letters will have multiple lines such a timestamp. When receiving the transmission of the SMTP for the last stop, it will return the path information row into the message. This line includes information of in the send command. Here, the last stop of the transmission means that the email will be sent to the destination user, but in some cases, the message may require further processing and transfer by additional mail system. Mailboxes may be inconsistent with the mailboxes in the return path, this situation may occur in need to transfer a specific error handling mailbox instead of the sender sender. In the above, the final mail content is row row, and is composed of one or more timestamp of the subsequent one or more time. These lines are the head and body information of the message content. A specific description is required when the processing behind the mail data indication is successful. This situation may occur in transmitting SMTP discovery When the message needs to be transmitted to multiple users, only some of them can be successfully transmitted in this case.

In this case, the DATA command must be sent to the OK response, and the SMTP organization must receive the SMTP organization and send a "unpaid mail" message to the sender of the information. In this information or a list of unsuccessful recipients, or each time you send a receiver, while sending multiple times. All unbaid mail messages are sent by the mail command. -------------------------------------------------- ----------- Return path and receive timestamp example return-path: <@ ghi.arpa, @ Def.arpa, @ abc.arpa: joe@abc.arpa> Received: from GHi.Arpa By jkl.arpa; 27 oct 81 15:27:39 pst receif pact: from def.arpa by ghi.arpa; 27 Oct 81 15:15:13 Pst resceid: from abc.arpa by def.arpa; 27 Oct 81 15: 01:59 PST Date: 27 Oct 81 15:01:01 Pst from: Joe@abc.arpa Subject: Improved Mailing System Installed To: Sam@jkl.arpa this is to inform you That ... ------ -------------------------------------------------- ----- Send (send) This command is used to start a send command to send mail to one or more terminals. The parameter domain includes a reply path, and this command is sent to the terminal if successful. The reply path includes an optional host list and sender mailbox. When a host list appears, indicating this is a transfer path, the message is sent to each host on this path (the first host on the list is the last hand). This table is used to return non-transfer signals to the sender. Because each delivery host address is added at this table, it must use the send IPCE instead of receiving IPCE (if they are not an IPCE) clear name. The reply path of some error messages may be empty. This command clears the reply path buffer, forward the path buffer, and the mail content buffer, and inserts the reply path information of this command into the reply path buffer. Send or Mail (SOML) This command is used to start a mail action to transfer the mail content to one or more terminals, or transferred to the mailbox. For each recipient, if the recipient terminal is opened, the mail content will be transferred to the recipient's terminal, otherwise it is sent to the recipient's mailbox. The parameter domain includes a reply path, which is successful if the information is successfully sent to the terminal or mailbox. The reply path includes an optional host list and sender mailbox. When a host list appears, indicating this is a transfer path, the message is sent to each host on this path (the first host on the list is the last hand). This table is used to return non-transfer signals to the sender. Because each delivery host address is added at this table, it must use the send IPCE instead of receiving IPCE (if they are not an IPCE) clear name. The reply path of some error messages may be empty. This command clears the reply path buffer, forward the path buffer, and the mail content buffer, and inserts the reply path information of this command into the reply path buffer. Send and Mail (SAML) This command is used to start a mail action to transfer the message content to one or more terminals and transmit it to the mailbox. If the recipient terminal is opened, the message content will be transferred to the recipient's terminal and the receiver's mailbox. The parameter domain includes the reply path, and if the information is successfully sent to the mailbox, this command is successful. The reply path includes an optional host list and sender mailbox.

When a host list appears, indicating this is a transfer path, the message is sent to each host on this path (the first host on the list is the last hand). This table is used to return non-transfer signals to the sender. Because each delivery host address is added at this table, it must use the send IPCE instead of receiving IPCE (if they are not an IPCE) clear name. The reply path of some error messages may be empty. This command clears the reply path buffer, forward the path buffer, and the mail content buffer, and inserts the reply path information of this command into the reply path buffer. RESET (RSET) This command indicates that the mail will be given. Any saved sender, recipient, and mail content should be discarded, all buffers and status tables should be cleared, and the recipient must return to the OK response. Verify (vrfy) This command requires the recipient to confirm that the parameter is a user. If this is (already known) user name, return to the user's full name and the specified mailbox. This command does not affect the reply path buffer, forwarding path buffers, and mail content buffers. Expand (EXPN) This command requires the recipient to confirm the parameter specified a message send a list. If it is a mail sends a list, it returns a member in the table. If this is (already known) user name, return to the user's full name and the specified mailbox. This command does not affect the reply path buffer, forwarding path buffers, and mail content buffers. Help (help) This command causes the recipient to send help information to the sender of the HELP command. This command can take parameters and return to specific information as a response. This command does not affect the reply path buffer, forwarding path buffers, and mail content buffers. NOOP (Noop) This command does not affect any parameters and commands already issued. It simply shows that there is no operation instead of that the recipient sends an OK response. This command does not affect the reply path buffer, forwarding path buffers, and mail content buffers. Quit (quit) This command indicates that the recipient must send an OK answer and close the transfer channel. The recipient should not turn off the communication channel before receiving the quit command and respond. The sender should not turn off the channel before sending a quit command and receiving a response. Even if an error, the channel should not be closed. If the connection is closed in advance, the recipient should cancel all waiting operations like the RSET command, but does not restore the originally done operation. The sender should assume that commands and operations are still supported like they receive temporary error (4xx). TURN (TURN) This command specifies that the recipient either sends an OK response and changing the role to send SMTP, or send a rejection information and keep your own role. If the program A is now sent SMTP, it issues the TURN command to receive the OK (250) response, which turns into the receiving SMTP. Program A enters the initial state, as if the communication channel is just open, then it sends 220 to prepare the service signal. If the program B is now receiving SMTP, it issues a TURN command to receive an OK (250) response, which becomes the send SMTP. Program A enters the initial state, as if the communication channel is just open, then it is ready to receive 220 to prepare the service signal. To refuse to change the role, the recipient can send 502 answers. There is a certain limit for the order of these commands. The first command of the conversation must be a hello command, which can be used in the session thereafter. If the parameter of the hello command is unacceptable, it must be replicated by returning a 501 failed, and the received SMTP must remain in a state of just consistent. NOOP, HELP, EXPN, and VRFY commands can be used at any time at any time. Mail, Send, SOML or SAML command starts a mail operation. Once started, you will send RCPT and DATA commands. Mail operation can be terminated by the RSET command. There may be one or more operations in a session.

If the operation start parameter is unacceptable, 501 failed response must be returned, and the received SMTP must remain in a state in which it is just consistent. If the command order in the operation is wrong, 503 failed answers must be returned, and the received SMTP must be kept in a state in which it is just consistent. The last command of the session must be a quit command. This command cannot be used at other times of the session. 4.1.2. The command syntax format command is made up of the command code and the subsequent parameter domain. The command code is four letters, and the case is not different. Because the following commands are the same: Mail Mail Mail Mail Mail This is also applicable for tags that boot any parameter values, such as TO and TO are the same. The command code and parameters are separated by one or more spaces. However, parameters in the reply path and forwarding path are case sensitive. Especially on some hosts, "smith" and "smith" are not a user. The parameter domain consists of unregulated strings, which is ended by , and the recipient will not take any action before receiving this sequence. Square bracket represents an optional parameter domain. If you don't choose, the system selects the default setting. Below is the SMTP command: Helo mail from: RCPT to: Data RSET Send from: SOML from: SAML from: VRFY EXPN Help [ ] NOOP Quit TURN The format of the above parameter domain is given below the format of the BNF The "..." represents a repetition of one or more times for one domain.

:: = :: = :: = "<" [> | "," :: = "@" :: = | "." :: = | "#" | "["] " :: = " @ " : : = | :: = :: = | :: = | : = <> | | "- :: = | "." :: = | :: = "" " "" :: = " |" | | :: = | " / " :: = ". "". "". " :: = | :: = :: = Enter (ASCII code 13) :: = (ASCII code 10) :: = space (ASCII code 32) :: = Between 0-255 by one, two or three numbers <0 0-255 :: = All AZ 52 case English letters <

C> :: = 128 ASCII characters, but does not include spaces and special characters :: = 0-9 Number :: = does not include , , "or / 128 ASCII Character :: = All 128 ASCII characters :: = "<" |> "|" ("|") "|" ["|" | "," | ";" | ":" | @ "" "" Or control character Note: "/" is a translivation character, which means that the character is represented in additional meaning. For example, "Joe /, Smith" is used to indicate a single user name separated by a comma. The host is usually represented by the name of the transformation to the address. Note: The name element of the domain is a formal name and cannot use nickname or a pseudonym. Sometimes the transition mechanism of the name may not know the host, which causes the block of communication. In order to solve this problem, two methods can be taken: one method is to add a decimal number after "#" to represent the host address; another method is to add 32-bit IP addresses, the IP address form is The number of decimal numbers separated from 0-255.

The format of the timestamp line and the return path row is usually defined below: :: = "RETURN-PATH: :: = "Received:" :: = ";" :: = " " :: =" by " :: = [] [] [ ] [] :: = "via" :: = "with" :: = "ID" :: = "for" :: = Connection to the network information center registration :: = Name of the protocol registered in the network :: =

:: = Monthly 1-31 day consisting of one or two numbers > :: = "Jan" | "Feb" | "Mar" | "APR" | "jun" | "jun" | "aug" | "SEP" | "Oct" | "NOV" | DEC "Year> :: = by two numbers] 00-99 :: = 24 hours a day, from 0 to 24 minutes from 0 to 59: 0-59 > :: = 6 minutes per minute 0-59

New Post(0)