From: Wietse Venema
The scache(8) server maintains the session cache for the +Postfix smtp(8) client. When session caching is enabled for selected +destinations, the smtp(8) client does not disconnect immediately +after a mail transaction, but gives the connection to the session +cache server. The smtp(8) client continues with some other mail +delivery request. Meanwhile, the session cache server keeps the +connection open for a limited amount of time. During that time, +any smtp(8) process can ask the scache(8) server for that cached +session and use it for mail delivery.
+ +| smtp(8) + | -> | scache(8) | -> + | smtp(8) + |
+
+
The showq(8) servers list the Postfix queue status. This is the queue listing service that does the work for the mailq(1) and postqueue(1) commands.
diff --git a/postfix/html/cleanup.8.html b/postfix/html/cleanup.8.html index cfc6ce6e7..c9d3beb2f 100644 --- a/postfix/html/cleanup.8.html +++ b/postfix/html/cleanup.8.html @@ -131,8 +131,8 @@ CLEANUP(8) CLEANUP(8) strings. mime_nesting_limit (100) - The maximal nesting level of multipart mail that - the MIME processor will handle. + The maximal recursion level that the MIME processor + will handle. strict_8bitmime (no) Enable both strict_7bit_headers and strict_8bit- @@ -258,8 +258,8 @@ CLEANUP(8) CLEANUP(8) strings. mime_nesting_limit (100) - The maximal nesting level of multipart mail that - the MIME processor will handle. + The maximal recursion level that the MIME processor + will handle. queue_file_attribute_count_limit (100) The maximal number of (name=value) attributes that diff --git a/postfix/html/ldap_table.5.html b/postfix/html/ldap_table.5.html index fe7c8b75a..d8d363cac 100644 --- a/postfix/html/ldap_table.5.html +++ b/postfix/html/ldap_table.5.html @@ -138,131 +138,131 @@ LDAP_TABLE(5) LDAP_TABLE(5) %u When the input key is an address of the form user@domain, %u is replaced by the (RFC - 2254) quoted local part of the address. If - no domain is specified, %u is replaced by - the entire search string. + 2254) quoted local part of the address. Oth- + erwise, %u is replaced by the entire search + string. %d When the input key is an address of the form user@domain, %d is replaced by the (RFC 2254) quoted domain part of the address. - When the input key has no domain qualifier, - %d is replaced by the entire search string. + Otherwise, %d is replaced by the entire + search string. - The "domain" parameter described below limits the - input keys to addresses in matching domains. When - the "domain" parameter is non-empty, LDAP queries - for unqualified addresses or addresses in non- + The "domain" parameter described below limits the + input keys to addresses in matching domains. When + the "domain" parameter is non-empty, LDAP queries + for unqualified addresses or addresses in non- matching domains are suppressed and return no results. NOTE: DO NOT put quotes around the query filter. result_filter (default: %s) - Format template applied to result attributes. Sup- - ports the same expansions as the query_filter, and - can be easily used to append (or prepend) text. - This parameter supports the following '%' expan- + Format template applied to result attributes. Sup- + ports the same expansions as the query_filter, and + can be easily used to append (or prepend) text. + This parameter supports the following '%' expan- sions: - %s This is replaced by the value of the result + %s This is replaced by the value of the result attribute. - %u When the result attribute is an address of - the form user@domain, %u is replaced local - part of the address, if the result attribute - is unqualified, %u is replaced by the entire + %u When the result attribute value is an + address of the form user@domain, %u is + replaced by the local part of the address. + Otherwise, %u is replaced by the entire attribute value. - %d When a result attribute is an address of the - form user@domain, %d is replaced by the - domain part of the attribute value. If an - attribute value is unqualified %d is - replaced by the entire attribute value. + %d When a result attribute value is an address + of the form user@domain, %d is replaced by + the domain part of the attribute value. + Otherwise, %d is replaced by the entire + attribute value. For example, using "result_filter = smtp:[%s]" allows one to use a mailHost attribute as the basis - of a transport(5) table. After applying the result - filter, multiple values are concatenated as comma - separated strings. The expansion_limit and - size_limit parameters explained below allow one to - restrict the number of values in the result, which - is especially useful for maps that should return a + of a transport(5) table. After applying the result + filter, multiple values are concatenated as comma + separated strings. The expansion_limit and + size_limit parameters explained below allow one to + restrict the number of values in the result, which + is especially useful for maps that should return a single value. - The default value %s specifies that each attribute + The default value %s specifies that each attribute value should be used as is. NOTE: DO NOT put quotes around the result filter! domain (default: no domain list) - This is a list of domain names, paths to files, or - dictionaries. When specified, only fully qualified - search keys with a *non-empty* localpart and a - matching domain are eligible for lookup: 'user' - lookups, bare domain lookups and "@domain" lookups - are not performed. This can significantly reduce + This is a list of domain names, paths to files, or + dictionaries. When specified, only fully qualified + search keys with a *non-empty* localpart and a + matching domain are eligible for lookup: 'user' + lookups, bare domain lookups and "@domain" lookups + are not performed. This can significantly reduce the query load on the LDAP server. domain = postfix.org, hash:/etc/postfix/search- domains - It is best not to use LDAP to store the domains + It is best not to use LDAP to store the domains eligible for LDAP lookups. - NOTE: DO NOT define this parameter for local(8) + NOTE: DO NOT define this parameter for local(8) aliases. result_attribute (default: maildrop) - The attribute(s) Postfix will read from any direc- + The attribute(s) Postfix will read from any direc- tory entries returned by the lookup, to be resolved to an email address. result_attribute = mailbox,maildrop special_result_attribute (No default) The attribute(s) of directory entries that can con- - tain DNs or URLs. If found, a recursive subsequent + tain DNs or URLs. If found, a recursive subsequent search is done using their values. special_result_attribute = member - DN recursion retrieves the same result_attributes + DN recursion retrieves the same result_attributes as the main query, including the special attributes - for further recursion. URI processing retrieves - only those attributes that are included in the URI - definition and are *also* listed in - "result_attribute". If the URI lists any of the - map's special result attributes, these are also + for further recursion. URI processing retrieves + only those attributes that are included in the URI + definition and are *also* listed in + "result_attribute". If the URI lists any of the + map's special result attributes, these are also retrieved and used recursively. scope (default: sub) - The LDAP search scope: sub, base, or one. These + The LDAP search scope: sub, base, or one. These translate into LDAP_SCOPE_SUBTREE, LDAP_SCOPE_BASE, and LDAP_SCOPE_ONELEVEL. bind (default: yes) - Whether or not to bind to the LDAP server. Newer + Whether or not to bind to the LDAP server. Newer LDAP implementations don't require clients to bind, which saves time. Example: bind = no - If you do need to bind, you might consider config- - uring Postfix to connect to the local machine on a - port that's an SSL tunnel to your LDAP server. If - your LDAP server doesn't natively support SSL, put + If you do need to bind, you might consider config- + uring Postfix to connect to the local machine on a + port that's an SSL tunnel to your LDAP server. If + your LDAP server doesn't natively support SSL, put a tunnel (wrapper, proxy, whatever you want to call - it) on that system too. This should prevent the - password from traversing the network in the clear. + it) on that system too. This should prevent the + password from traversing the network in the clear. bind_dn (default: empty) - If you do have to bind, do it with this distin- + If you do have to bind, do it with this distin- guished name. Example: bind_dn = uid=postfix, dc=your, dc=com bind_pw (default: empty) - The password for the distinguished name above. If + The password for the distinguished name above. If you have to use this, you probably want to make the map configuration file readable only by the Postfix - user. When using the obsolete ldap:ldapsource syn- + user. When using the obsolete ldap:ldapsource syn- tax, with map parameters in main.cf, it is not pos- - sible to securely store the bind password. This is + sible to securely store the bind password. This is because main.cf needs to be world readable to allow local accounts to submit mail via the sendmail com- mand. Example: @@ -273,43 +273,43 @@ LDAP_TABLE(5) LDAP_TABLE(5) cache_expiry (IGNORED with a warning) cache_size (IGNORED with a warning) - The above parameters are NO LONGER SUPPORTED by + The above parameters are NO LONGER SUPPORTED by Postfix. Cache support has been dropped from OpenLDAP as of release 2.1.13. recursion_limit (default: 1000) - A limit on the nesting depth of DN and URL special - result attribute evaluation. The limit must be a + A limit on the nesting depth of DN and URL special + result attribute evaluation. The limit must be a non-zero positive number. expansion_limit (default: 0) - A limit on the total number of result elements - returned (as a comma separated list) by a lookup - against the map. A setting of zero disables the - limit. Lookups fail with a temporary error if the - limit is exceeded. Setting the limit to 1 ensures + A limit on the total number of result elements + returned (as a comma separated list) by a lookup + against the map. A setting of zero disables the + limit. Lookups fail with a temporary error if the + limit is exceeded. Setting the limit to 1 ensures that lookups do not return multiple values. size_limit (default: $expansion_limit) - A limit on the number of LDAP entries returned by - any single LDAP query performed as part of the - lookup. A setting of 0 disables the limit. Expan- - sion of DN and URL references involves nested LDAP - queries, each of which is separately subjected to + A limit on the number of LDAP entries returned by + any single LDAP query performed as part of the + lookup. A setting of 0 disables the limit. Expan- + sion of DN and URL references involves nested LDAP + queries, each of which is separately subjected to this limit. - Note: even a single LDAP entry can generate multi- - ple lookup results, via multiple result attributes - and/or multi-valued result attributes. This limit + Note: even a single LDAP entry can generate multi- + ple lookup results, via multiple result attributes + and/or multi-valued result attributes. This limit caps the per query resource utilization on the LDAP - server, not the final multiplicity of the lookup - result. It is analogous to the "-z" option of + server, not the final multiplicity of the lookup + result. It is analogous to the "-z" option of "ldapsearch". dereference (default: 0) - When to dereference LDAP aliases. (Note that this + When to dereference LDAP aliases. (Note that this has nothing do with Postfix aliases.) The permitted - values are those legal for the OpenLDAP/UM LDAP + values are those legal for the OpenLDAP/UM LDAP implementations: 0 never @@ -321,99 +321,99 @@ LDAP_TABLE(5) LDAP_TABLE(5) 3 always See ldap.h or the ldap_open(3) or ldapsearch(1) man - pages for more information. And if you're using an + pages for more information. And if you're using an LDAP package that has other possible values, please - bring it to the attention of the postfix- + bring it to the attention of the postfix- users@postfix.org mailing list. chase_referrals (default: 0) - Sets (or clears) LDAP_OPT_REFERRALS (requires LDAP + Sets (or clears) LDAP_OPT_REFERRALS (requires LDAP version 3 support). version (default: 2) Specifies the LDAP protocol version to use. debuglevel (default: 0) - What level to set for debugging in the OpenLDAP + What level to set for debugging in the OpenLDAP libraries. LDAP SSL AND STARTTLS PARAMETERS - If you're using the OpenLDAP libraries compiled with SSL - support, Postfix can connect to LDAP SSL servers and can + If you're using the OpenLDAP libraries compiled with SSL + support, Postfix can connect to LDAP SSL servers and can issue the STARTTLS command. - LDAP SSL service can be requested by using a LDAP SSL URL + LDAP SSL service can be requested by using a LDAP SSL URL in the server_host parameter: server_host = ldaps://ldap.your.com:636 STARTTLS can be turned on with the start_tls parameter: start_tls = yes - Both forms require LDAP protocol version 3, which has to + Both forms require LDAP protocol version 3, which has to be set explicitly with: version = 3 If any of the Postfix programs querying the map is config- - ured in master.cf to run chrooted, all the certificates + ured in master.cf to run chrooted, all the certificates and keys involved have to be copied to the chroot jail. Of - course, the private keys should only be readable by the + course, the private keys should only be readable by the user "postfix". - The following parameters are relevant to LDAP SSL and + The following parameters are relevant to LDAP SSL and STARTTLS: start_tls (default: no) Whether or not to issue STARTTLS upon connection to - the server. Don't set this with LDAP SSL (the SSL + the server. Don't set this with LDAP SSL (the SSL session is setup automatically when the TCP connec- tion is opened). - tls_ca_cert_dir (No default; set either this or + tls_ca_cert_dir (No default; set either this or tls_ca_cert_file) Directory containing X509 Certificate Authority - certificates in PEM format which are to be recog- - nized by the client in SSL/TLS connections. The - files each contain one CA certificate. The files - are looked up by the CA subject name hash value, - which must hence be available. If more than one CA - certificate with the same name hash value exist, - the extension must be different (e.g. 9d66eef0.0, - 9d66eef0.1 etc). The search is performed in the - ordering of the extension number, regardless of + certificates in PEM format which are to be recog- + nized by the client in SSL/TLS connections. The + files each contain one CA certificate. The files + are looked up by the CA subject name hash value, + which must hence be available. If more than one CA + certificate with the same name hash value exist, + the extension must be different (e.g. 9d66eef0.0, + 9d66eef0.1 etc). The search is performed in the + ordering of the extension number, regardless of other properties of the certificates. Use the c_rehash utility (from the OpenSSL distribution) to create the necessary links. - tls_ca_cert_file (No default; set either this or + tls_ca_cert_file (No default; set either this or tls_ca_cert_dir) File containing the X509 Certificate Authority cer- - tificates in PEM format which are to be recognized - by the client in SSL/TLS connections. This setting + tificates in PEM format which are to be recognized + by the client in SSL/TLS connections. This setting takes precedence over tls_ca_cert_dir. tls_cert (No default; you must set this) - File containing client's X509 certificate to be + File containing client's X509 certificate to be used by the client in SSL/ TLS connections. tls_key (No default; you must set this) - File containing the private key corresponding to + File containing the private key corresponding to the above tls_cert. tls_require_cert (default: no) Whether or not to request server's X509 certificate - and check its validity when establishing SSL/TLS + and check its validity when establishing SSL/TLS connections. tls_random_file (No default) - Path of a file to obtain random bits from when - /dev/[u]random is not available, to be used by the + Path of a file to obtain random bits from when + /dev/[u]random is not available, to be used by the client in SSL/TLS connections. tls_cipher_suite (No default) Cipher suite to use in SSL/TLS negotiations. EXAMPLE - Here's a basic example for using LDAP to look up local(8) + Here's a basic example for using LDAP to look up local(8) aliases. Assume that in main.cf, you have: alias_maps = hash:/etc/aliases, ldap:/etc/postfix/ldap-aliases.cf @@ -422,14 +422,14 @@ LDAP_TABLE(5) LDAP_TABLE(5) server_host = ldap.my.com search_base = dc=my, dc=com - Upon receiving mail for a local address "ldapuser" that - isn't found in the /etc/aliases database, Postfix will - search the LDAP server listening at port 389 on - ldap.my.com. It will bind anonymously, search for any - directory entries whose mailacceptinggeneralid attribute - is "ldapuser", read the "maildrop" attributes of those - found, and build a list of their maildrops, which will be - treated as RFC822 addresses to which the message will be + Upon receiving mail for a local address "ldapuser" that + isn't found in the /etc/aliases database, Postfix will + search the LDAP server listening at port 389 on + ldap.my.com. It will bind anonymously, search for any + directory entries whose mailacceptinggeneralid attribute + is "ldapuser", read the "maildrop" attributes of those + found, and build a list of their maildrops, which will be + treated as RFC822 addresses to which the message will be delivered. SEE ALSO @@ -443,13 +443,13 @@ LDAP_TABLE(5) LDAP_TABLE(5) LDAP_README, Postfix LDAP client guide LICENSE - The Secure Mailer license must be distributed with this + The Secure Mailer license must be distributed with this software. AUTHOR(S) - Carsten Hoeger, Hery Rakotoarisoa, John Hensley, Keith - Stevenson, LaMont Jones, Liviu Daia, Manuel Guesdon, Mike - Mattice, Prabhat K Singh, Sami Haahtinen, Samuel Tardieu, + Carsten Hoeger, Hery Rakotoarisoa, John Hensley, Keith + Stevenson, LaMont Jones, Liviu Daia, Manuel Guesdon, Mike + Mattice, Prabhat K Singh, Sami Haahtinen, Samuel Tardieu, Victor Duchovni, and many others. LDAP_TABLE(5) diff --git a/postfix/html/pipe.8.html b/postfix/html/pipe.8.html index 6bf9ef687..4b9ca85b6 100644 --- a/postfix/html/pipe.8.html +++ b/postfix/html/pipe.8.html @@ -48,11 +48,18 @@ PIPE(8) PIPE(8) file at the end of a service definition. The syntax is as follows: + directory=pathname (optional, default: $queue_directory) + Change to the named directory before executing the + external command. Delivery is deferred in case of + failure. + + This feature is available as of Postfix 2.2. + eol=string (optional, default: \n) The output record delimiter. Typically one would use either \r\n or \n. The usual C-style backslash escape sequences are recognized: \a \b \f \n \r \t - \v \octal and \\. + \v \ddd (up to three octal digits) and \\. flags=BDFORhqu.> (optional) Optional message processing flags. By default, a @@ -111,10 +118,10 @@ PIPE(8) PIPE(8) most @ character) to lower case. This is recommended for delivery via UUCP. - . Prepend . to lines starting with ".". This + . Prepend "." to lines starting with ".". This is needed by, for example, BSMTP software. - > Prepend > to lines starting with "From ". + > Prepend ">" to lines starting with "From ". This is expected by, for example, UUCP soft- ware. @@ -216,13 +223,6 @@ PIPE(8) PIPE(8) $(name) are also recognized. Specify $$ where a single $ is wanted. - Available in Postfix 2.2 and later: - - directory=pathname (optional) - Change to the specified directory before executing - the command. Failure causes mail delivery to be - deferred. - DIAGNOSTICS Command exit status codes are expected to follow the con- ventions defined in <sysexits.h>. diff --git a/postfix/html/postconf.5.html b/postfix/html/postconf.5.html index 3edff6d40..c0cde5e61 100644 --- a/postfix/html/postconf.5.html +++ b/postfix/html/postconf.5.html @@ -921,10 +921,10 @@ This feature is available in Postfix 2.0 and later.-The maximal amount of original message text that is sent in a -non-delivery notification. Specify a byte count. -
+The maximal amount of original message text that is sent in a +non-delivery notification. Specify a byte count. If you increase +this limit, then you should increase the mime_nesting_limit value +proportionally.
Specify domain names, network/netmask patterns, "/file/name" -patterns or "type:table" lookup tables. The result from lookup -tables is ignored.
+patterns or "type:table" lookup tables. The right-hand side result +from "type:table" lookups is ignored.Pattern matching of domain names is controlled by the parent_domain_matches_subdomains parameter.
@@ -2725,13 +2725,12 @@ The default time unit is s (seconds).-The LMTP client time limit for sending the RSET command, and for -receiving the server response. The LMTP client sends RSET in order -to find out if a cached connection is still alive. -
+The LMTP client time limit for sending the RSET command, and +for receiving the server response. The LMTP client sends RSET in +order to finish a recipient address probe, or to verify that a +cached connection is still alive.
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). @@ -3617,8 +3616,8 @@ This feature is available in Postfix 2.0 and later. (default: 100)
-The maximal nesting level of multipart mail that the MIME processor -will handle. Postfix refuses mail that is nested deeper. +The maximal recursion level that the MIME processor will handle. +Postfix refuses mail that is nested deeper than the specified limit.
@@ -5030,6 +5029,27 @@ The default time unit is s (seconds).
+The name of the scache(8) session cache service. This service +maintains a limited pool of cached sessions.
+ + +The maximal time-to-live value that the session cache server +allows. Requests that specify a larger TTL will be stored with the +maximum allowed TTL. The purpose of this additional control is to +protect the infrastructure against careless people. The cache TTL +is already bounded by $max_idle.
+ +The SMTP destinations for which SMTP connection caching is +enabled. With SMTP connection caching, a connection is not closed +immediately after completion of a mail transaction. Instead, the +connection is kept open for up to $smtp_connection_cache_time_limit +seconds. This allows connections to be reused for other deliveries, +and can improve mail delivery performance.
+ +Specify a comma or white space separated list of destinations +or pseudo-destinations: +
+ +When SMTP session caching is enabled, the number of times that +an SMTP session is reused before it is closed. +
+ + +When SMTP session caching is enabled, the amount of time that +an unused SMTP client socket is kept open before it is closed. Do +not specify larger values without permission from the remote sites. +
+ +The SMTP client time limit for sending the RSET command, and -for receiving the server response.
+for receiving the server response. The SMTP client sends RSET in +order to finish a recipient address probe, or to verify that a +cached session is still usable.This feature is available in Postfix 2.1 and later.
diff --git a/postfix/html/scache.8.html b/postfix/html/scache.8.html new file mode 100644 index 000000000..ac46f7ce6 --- /dev/null +++ b/postfix/html/scache.8.html @@ -0,0 +1,156 @@ + + + ++SCACHE(8) SCACHE(8) + +NAME + scache - Postfix session cache server + +SYNOPSIS + scache [generic Postfix daemon options] + +DESCRIPTION + The scache server maintains the Postfix session cache. + This information can be used by, for example, the Postfix + SMTP client. + + The session cache is organized into logical destination + names, physical endpoint names, and sessions. + + As a specific example, logical SMTP destinations specify + (transport, domain, port), and physical SMTP endpoints + specify (transport, IP address, port). An SMTP session + may be saved after a successful mail transaction. + + In the general case, one logical destination may refer to + zero or more physical endpoints, one physical endpoint may + be referenced by zero or more logical destinations, and + one endpoint may refer to zero or more sessions. + + The exact syntax of a logical destination or endpoint name + is application dependent; the scache service does not + care. A session is stored as a file descriptor together + with application-dependent information that is needed to + re-activate a session object. Again, the scache service is + completely unaware about the details of that information. + + All information is stored with a finite time to live + (ttl). The session cache daemon terminates when no client + is connected for max_idle time units. + + This server implements the following requests: + + save_endp ttl endpoint endpoint_properties file_descriptor + Save the specified file descriptor and session + property data under the specified endpoint name. + The endpoint properties are used by the client to + re-activate a passivated session object. queue ID + is queued for the specified destination. + + find_endp endpoint + Look up cached properties and a cached file + descriptor for the specified endpoint. + + save_dest ttl destination destination_properties endpoint + Save the binding between a logical destination and + an endpoint under the destination name, together + with destination specific session properties. The + destination properties are used by the client to + re-activate a passivated session object. + + find_dest destination + Look up cached destination properties, cached end- + point properties, and a cached file descriptor for + the specified logical destination. + +SECURITY + The session cache server is not security-sensitive. It + does not talk to the network, and it does not talk to + local users. The scache server can run chrooted at fixed + low privilege. + + The session cache server is not a trusted process. It must + not be used to store information that is security sensi- + tive. + +DIAGNOSTICS + Problems and transactions are logged to syslogd(8). + +BUGS + Sessions cannot be cached across multiple machines. + + When a session expires from the cache it is closed without + protocol specific handshake. + +CONFIGURATION PARAMETERS + Changes to main.cf are picked up automatically as + scache(8) processes run for only a limited amount of time. + Use the command "postfix reload" to speed up a change. + + The text below provides only a parameter summary. See + postconf(5) for more details including examples. + +RESOURCE CONTROLS + session_cache_ttl_limit (2s) + The maximal time-to-live value that the session + cache server allows. + +MISCELLANEOUS CONTROLS + config_directory (see 'postconf -d' output) + The default location of the Postfix main.cf and + master.cf configuration files. + + daemon_timeout (18000s) + How much time a Postfix daemon process may take to + handle a request before it is terminated by a + built-in watchdog timer. + + ipc_timeout (3600s) + The time limit for sending or receiving information + over an internal communication channel. + + max_idle (100s) + The maximum amount of time that an idle Postfix + daemon process waits for the next service request + before exiting. + + process_id (read-only) + The process ID of a Postfix command or daemon pro- + cess. + + process_name (read-only) + The process name of a Postfix command or daemon + process. + + syslog_facility (mail) + The syslog facility of Postfix logging. + + syslog_name (postfix) + The mail system name that is prepended to the pro- + cess name in syslog records, so that "smtpd" + becomes, for example, "postfix/smtpd". + +SEE ALSO + smtp(8), SMTP client + postconf(5), configuration parameters + master(8), process manager + syslogd(8), system logging + +LICENSE + The Secure Mailer license must be distributed with this + software. + +HISTORY + This service was introduced with Postfix version 2.2. + +AUTHOR(S) + Wietse Venema + IBM T.J. Watson Research + P.O. Box 704 + Yorktown Heights, NY 10598, USA + + SCACHE(8) +diff --git a/postfix/html/smtp.8.html b/postfix/html/smtp.8.html index e4657fa49..4264f3b54 100644 --- a/postfix/html/smtp.8.html +++ b/postfix/html/smtp.8.html @@ -34,9 +34,14 @@ SMTP(8) SMTP(8) fails due to a recoverable error condition, the SMTP client will try to deliver the mail to an alternate host. + After a successful mail transaction, a session may be + saved to the scache(8)