Smtp, smtp_cr, smtp_crlf, smtp_crorlf, smtp_lf, nosmtp, lmtp, lmtp_cr, lmtp_crlf, lmtp_crorlf, lmtp_lf Channel Options
Channel protocol selection (
These channel options specify whether or not a channel supports the SMTP protocol (or LMTP protocol) and what type of SMTP line terminator (or LMTP line terminator) the MTA expects to see as part of that protocol.
nosmtp means that the channel doesn't support either SMTP or LMTP; all the rest of these channel options imply either SMTP or LMTP support.
The selection of whether or not to use the SMTP or LMTP protocol is implicit for most channels; the correct protocol is chosen by the use of the appropriate channel program or programs.
The channel option
smtp---or one of the
smtp_* variants---should be set explicitly on all SMTP channels; but if no such option is set on a
tcp_* channel, the channel will default to
smtp_crorlf. The channel option
lmtp---or one of the
lmtp_* variants---is mandatory for all LMTP channels.
The channel options
smtp_lf may be used on SMTP channels to specify what character sequences to accept as line terminators.
smtp_crlf means that lines must be terminated with a carriage return (CR) line feed (LF) sequence.
smtp_crorlf means that lines may be terminated with any of a carriage return (CR), or a line feed (LF) sequence, or a full CRLF. (Note that prior to MS 6.0,
smtp used to be synonymous with
smtp_crorlf, rather than with
smtp_crlf as currently; this change to a more strict insistence on proper SMTP line terminators was made in accordance with RFC 2821.)
smtp_lf means that a LF without a preceding CR will be accepted. Finally,
smtp_cr means that a CR will be accepted without a following LF. It is normal to use CRLF sequences as the SMTP line terminator, and this is what the MTA itself always generates; this option only affects the MTA's handling of incoming material.
lmtp* channel options are similar, applying to the LMTP protocol rather than the SMTP protocol.
Note that the setting of the original, "default" incoming TCP/IP channel is what controls the behavior for all incoming TCP/IP channels to which that channel may subsequently "switch". That is, subsequent "switching" (due, for instance, to
mailSMTPSubmitChannel sorts of effects) will not result in a change of SMTP line terminator regardless of what may be set on that "switched to" channel; the option specified on the original incoming TCP/IP channel (typically
tcp_local) stays in effect.