home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  


Previous Section Next Section

E=

The end-of-line string All versions

The E= delivery agent equate specifies the end-of-line character or characters. Those characters are generated by sendmail for outgoing messages and are recognized by sendmail for incoming messages.

The end-of-line characters are defined with the E= delivery agent equate as backslash-escaped control characters, such as:

E=\r\n

Prior to V8.8 the default end-of-line string, if the E= field was missing, was the C-language newline character, \n.[12] Beginning with V8.8 sendmail, the default is \n for all except delivery agents that speak SMTP, in which case the default is \r\n.

[12] On some NeXT computers (prior to OS version 2.0) the default E= terminator is \r\n. This can cause serious problems when used with some non-IPC delivery agents such as UUCP. If you have a system that does this, you can override that improper default with E=\n.

In general, delivery agents that speak SMTP or LMTP (those that lack a $u in the A= argument array) should have their end-of-line field set to E=\r\n (for a carriage-return/line-feed pair).[13] Delivery agents that do not speak SMTP (those that include a $u in the A= argument array) should have their end-of-line field set to E=\n (for a lone line-feed character).

[13] Note that a line feed is the same ASCII character as newline.

In using V8 sendmail's mc configuration, the value given to E= cannot be easily changed. It is supplied to the MAILER('smtp') delivery agents as \r\n, but it is left as the default \n for all others. If you need to change this value at the mc configuration level, you must first copy an existing delivery agent definition, then modify it as outlined in Section 20.3.2.

If the E= delivery agent equate's argument is missing, the following error message is printed and the E= becomes undefined:

mailer agent_name: null end-of-line string
    Previous Section Next Section