What Are the SMTP Configuration Options in TCPIP$SMTP.CONF?¶
Applies to: TCP/IP Services 5.7 and higher
Starting with TCP/IP Services V5.7, the SMTP client and server use the text-based configuration file TCPIP$SMTP.CONF. The table explains how the file can be used to control SMTP behavior, including security, routing, logging, and delivery settings.
Configuration file location: TCPIP$SMTP_COMMON:TCPIP$SMTP.CONF
On some systems, TCPIP$SMTP.CONF is stored in the TCP/IP Services text library rather than as a regular file. To view or modify the configuration, extract the module using the following command:
$ LIBRARY/EXTRACT=TCPIP$SMTP.CONF library-name Information
After making any changes, SMTP must be restarted with the following commands:
$ @SYS$MANAGER:TCPIP$SMTP_SHUTDOWN.COM
$ @SYS$MANAGER:TCPIP$SMTP_STARTUP.COM
SMTP Configuration Parameters¶
| Parameter | Description | Example / Default |
|---|---|---|
| Good-Clients | Specifies which clients are permitted to relay mail through this SMTP server. | relay.example.com 192.168.1.0/24 (Default: allow all) |
| Bad-Clients | Defines clients that are explicitly denied relay access. | 10.0.0.1 172.16.0.0/16 (Default: none) |
| Bad-Clients-Text | Custom message returned to clients that are denied access. | "Access denied" "Relay blocked" (Default: none) |
| Relay-Zones | Lists the destination domains that the SMTP server is allowed to relay mail to. | example.com corp.example.com (Default: allow all) |
| SPAM-Relay-Text | Message returned when a relay attempt is blocked due to policy restrictions. | "Relay not permitted" (Default: none) |
| RBLs | Defines external DNS-based blacklists used to identify and block known spam sources. | dnsbl.example.org zen.spamhaus.org (Default: none) |
| Client-In-RBL-Text | Message shown to clients whose IP address is found in an RBL. | "Host listed in blacklist" "Access refused (RBL)" (Default: none) |
| Relay-Based-On-Mx | If TRUE the SMTP server allows relay from unknown clients when the recipient’s domain has an MX record that points to the local host. | TRUE FALSE (Default) |
| Unbacktranslatable-IP-Text | Message for a reverse lookup failure | "IP cannot be resolved" (Default: none) |
| Reject-Unbacktranslatable-IP | Rejects connections from hosts that cannot be resolved via reverse DNS lookup. | TRUE FALSE (Default) |
| Accept-Unqualified-Senders | Allows email from hosts that do not have fully qualified domain names (FQDN). | TRUE FALSE (Default) |
| Unqualified-Sender-Text | Message shown when rejecting senders that do not provide a valid FQDN. | "Invalid sender hostname" "Hostname required" (Default: none) |
| Accept-Unresolvable-Domains | Allows messages from domains that cannot be resolved via DNS. | TRUE (Default) FALSE |
| Unresolvable-Domain-Text | Message displayed when rejecting messages from unresolved domains. | "Domain does not exist" "Invalid domain" (Default: none) |
| Reject-Mail-From | Defines patterns of sender addresses that should always be rejected. Supports wildcard matching. | *@spam.com baduser@* (Default: none) |
| Reject-Mail-From-Text | Message shown to senders whose email is rejected. | "Your message has been blocked." (Default: none) |
| Accept-Mail-From | Defines sender patterns that are explicitly allowed, overriding rejects if needed. | *@trusted.com (Default: all) |
| SPAM-Action | Specifies how detected spam events are reported or logged on the system. | OPCOM ACCOUNTING (Default: none) |
| Security | Determines how rejection messages are handled. FRIENDLY provides feedback, SECURE suppresses details for security. | FRIENDLY (Default) SECURE |
| Allow-EXPN | Controls whether the SMTP EXPN command (expand mailing lists) is permitted. Legal values NEVER, ALWAYS or LOCALLY. | NEVER ALWAYS (Default) LOCALLY |
| EXPN-Used-Text | Message shown when an EXPN command is attempted. | "Command not permitted." (Default: none) |
| Allow-VRFY | Controls whether the SMTP VRFY command (verify users) is permitted. | NEVER ALWAYS (Default) LOCALLY |
| VRFY-Used-Text | Message shown when a VRFY command is attempted. | "User verification is disabled." (Default: none) |
| Symbiont-Checks-Deliverability | If Symbiont-Checks-Deliverability is set to TRUE, the SMTP receiver does not perform deliverability checks itself and instead passes incoming email to the symbiont for validation. | TRUE FALSE (Default) |
| Try-A-Records | The symbiont always uses MX records first to route outbound mail through the configured SMTP gateways. It can also optionally attempt delivery using A records as a fallback. This setting controls when A records are used: always, never, or only if no MX records are found for the recipient’s domain. By default, it is set to ALWAYS for compatibility with previous behavior, although IFNOMX is recommended for new installations. | ALWAYS (Default) NEVER IFNOMX |
| Initial-Interval | Defines the delay before a second delivery attempt is made after initial failure. | 0 00:30:00.00 |
| Retry-Interval | Specifies the time between retry attempts after the first retry. | Recommended time is twice the initial interval. 0 01:00:00.00 |
| Retry-Maximum | Defines the maximum total time allowed for retry attempts before giving up. | 3 00:00:00.00 |
| Zone | Specifies the domain namespace the server considers local for routing decisions. With no value, defaults to one level higher than your local domain. | example.com corp.example.com |
| Receive-Timeout | Defines the maximum time (in minutes) allowed between receiving parts of a message during a connection. If no data is received within this interval, the connection is terminated and the associated mail control file is deleted. | 5 |
| Retry-Address | Maximum number of recipient addresses attempted for delivery before marking undeliverable. | 16 |
| Hop-Count | Maximum number of relay hops allowed before determining mail is undeliverable. | 16 |
| Send-Timeout-Init | Timeout (minutes) for establishing the initial SMTP connection. For the following timeouts, the system keeps retrying delivery until the allowed retry time expires. | 5 |
| Send-Timeout-Mail | Timeout for MAIL command responses. | 5 |
| Send-Timeout-Rcpt | Timeout for RCPT command responses. | 5 |
| Send-Timeout-Data | Timeout for sending message data. | 3 |
| Send-Timeout-Term | Timeout for session termination. | 10 |
| Header-Placement | Controls placement of email headers in messages. | TOP (Default) BOTTOM NONE |
| Eightbit | Enables transmission of 8-bit data in emails instead of 7-bit ASCII only. | TRUE FALSE |
| Relay | Enables or disables the ability to relay mail for external hosts. | TRUE FALSE |
| Alternate-Gateway | Specifies a fallback SMTP server for message delivery if the primary route fails. | mail.backup.example.com |
| General-Gateway | Defines a gateway for handling non-SMTP mail protocols. | uucp.example.com |
| Substitute-Domain | Overrides the sender’s domain with a specified domain for outgoing mail. | example.com |
| Queue-Name | SMTP in TCP/IP Services for OpenVMS is cluster-aware. It takes advantage of the cluster’s high availability and load balancing features. The generic SMTP queue is shared across all nodes in the cluster and is named TCPIP$SMTP. | TCPIP$SMTP |
| Number-Of-Queues-Per-Node | Specifies how many SMTP processing queues are created per node of a cluster. The execution queue will have the following name format: TCPIP$SMTP_nodename_n | 1 (Default) |
| Postmaster-Alias | Component: Symbiont. Enables mail bounced by the local host to appear to be from a user name other than TCPIP$SMTP@node.domain. Specify only the user name (no host). Ensure a forwarding entry exists for the specified user. | Postmaster-Alias : Postmaster Example outcome: Postmaster@node.domain instead of TCPIP$SMTP@node.domain |
| Receiver-Debug | Component: Receiver. Logs full diagnostics, similar to Log-Level. | Receiver-Debug : 0 |
| Receiver-Trace | Component: Receiver. Logs all messages sent to and received from remote SMTP clients. Used to trace SMTP protocol activity. The same conventions for logging non-printing characters or control characters are used. | Receiver-Trace : 0 |
| Symbiont-Debug | Component: Symbiont. Logs full diagnostics, similar to Log-Level. | Symbiont-Debug: 0 |
| Symbiont-Trace | Component: Symbiont. Logs all messages exchanged with remote SMTP servers. Displays non-printing/control characters as \n (hex value). | Example CR/LF is shown as \d\a: |
| Utilities-Debug | Component: Utilities. Logs full diagnostics similar to Log-Level. | Utilities-Debug: 0 |
| Utilities-Trace | Component: Utilities | Utilities-Trace: 0 |
| Log-Level | Component: Symbiont. Controls logging detail level. 2 = Enables detailed logging at startup, including each control file processed, as well as all associated mail headers and recipients. 3 = Enables additional processing details 5 = Enables full diagnostics (use with support guidance only) | Values: 0, 2, 3, 5 Log-Level : 5 |
| EF-Debug-Level | EF-Debug-Level : 0 | |
| Channel-Debug-Level | Channel-Debug-Level : 0 | |
| Symbiont-Snapshot-Blocks | Component: Symbiont. Enables snapshot logging. Specifies buffer size in OpenVMS blocks (1 block = 512 bytes). Must be used with Log-Level. Larger values increase shutdown delay. Enabling snapshot buffering can delay symbiont shutdown, with the duration depending on buffer size and system performance. | The following example sets the SMTP symbiont log level to 5 and enables snapshot logging with a 200‑block buffer: |
| Receiver-Snapshot-Blocks | Component: Receiver. Enables snapshot logging. The value you assign to this parameter specifies the size of the snapshot buffer in OpenVMS blocks (1 block = 512 bytes). Requires Receiver-Debug and Receiver-Trace. | For example, the following command line sets all of the receiver diagnostics on and enables snapshot logging for the receiver with a snapshot buffer of 200 blocks: |
| Utilities-Snapshot-Blocks | Utilities-Snapshot-Blocks : 0 | |
| Log-Line-Numbers | Component: Symbiont, Receiver, MAIL$PROTOCOL. Adds line numbers to SMTP logs. | TRUE FALSE |
| Memory-Debug | TRUE | |
| Mail$Protocol-Debug | TRUE | |
| CF-Debug | TRUE | |
| Parse-Debug | TRUE | |
| Altgate-Always | Component: Symbiont. Sends all outbound (nonlocal) mail to the alternate gateway, bypassing zone checks. | TRUE FALSE |
| Mx-If-Noaltgate | Component: Symbiont. Uses MX records if the alternate gateway is unavailable. | TRUE FALSE |
| No-Mx | Component: Symbiont. Disables MX usage. Attempts direct host resolution using domain name. If unresolved → mail returned; if unreachable → mail requeued. | TRUE FALSE |
| No-Subs-Domain-Inbound | Component: Symbiont, Receiver, MAIL$PROTOCOL. Prevents mail to substitute domain from being treated as local. Default behavior (FALSE) treats it as local. | TRUE FALSE (Default) |
| Smtp-Jacket-Local | Component: Symbiont. Adds SMTP headers to local mail to support POP server requirements. | TRUE FALSE |
| Cent-Sign-Hack | Replaces double quotes with cent sign (¢) in SMTP addresses to avoid OpenVMS Mail limitations with nested quotes. | TRUE FALSE |
| Nosey | Component: Symbiont. Enables logging of full RFC header information. If disabled, headers appear as SUBJECT:<omitted>. | TRUE FALSE |
| Deliver-NoXVMs | Component: Symbiont. Disables X-VMS-To and X-VMS-CC headers. Uses standard RFC To and CC headers instead. If the Deliver-NoXVMS option is not defined (or set to FALSE), the X-VMS-To and X-VMS-CC headers (if present) are used for the mail header lines. | TRUE FALSE |
| Deliver-VMS-Def-To | Component: Symbiont. Uses default OpenVMS To field (username). Overrides Deliver-NoXVMs for To field. | TRUE FALSE |
| MTS-From-Hack | TRUE | |
| Rewrite-MTS-From | Component: Symbiont. Simplifies MTS addresses for Internet mail by extracting username and appending local host. As a result, only a simple address is sent to the Internet and any replies are relayed correctly to MTS. | TRUE FALSE |
| Local-Alias-Only | Component: Symbiont. Determines local mail status using only the local alias file. | TRUE FALSE |
| SFF-Requires-Priv | Component: MAIL$PROTOCOL. Requires SYSPRV, BYPASS, or OPER privileges to use Send From File (SFF). | TRUE FALSE |
| 8BitMIME-Hack | Component: Receiver. Enables 8BITMIME support to prevent conversion to 7-bit format before sending the mail message to the SMTP server. On some displays, such as that used by OpenVMS Mail, certain 8-bit strings, such as accented characters, are converted and displayed in coded sequences. To prevent this behavior, set this parameter to TRUE. | TRUE FALSE |
| Suppress-Version-Info | Component: Symbiont, Receiver. Prevents disclosure of TCP/IP Services version information. | TRUE FALSE |
| Foreign-Transport-Synonyms | FALSE | |
| Postmaster-Forwards-To | FALSE | |
| Persistent-Server | Enables persistent SMTP receiver if set to ON. | ON OFF (Default) |
| Idle-Timeout | Specifies how long the SMTP receiver waits for a connection. OpenVMS delta time format. Requires Persistent-Server option be specified. | 0 00:05:00.00 (Default) |
| Loop-Max | Maximum number of retry attempts for SMTP receiver connections. 0 = no limit. Requires Persistent-Server option to be specified. | 10 0 = (no limit) |