SMTP Commands and Definitions
This topic contains reference material about the following topics:
Simple Mail Transfer Protocol (SMTP) commands
Internal SMTP transport mechanisms
SMTP event sinks
Ports that are commonly used by Microsoft® Exchange
The following table lists the SMTP commands that are provided by the Microsoft Windows® SMTP service (SMTPSVC).
SMTP command | Command function |
---|---|
HELO |
Sent by a client to identify itself, usually with a domain name. |
EHLO |
Enables the server to identify its support for Extended Simple Mail Transfer Protocol (ESMTP) commands. |
MAIL FROM |
Identifies the sender of the message; used in the form MAIL FROM:. |
RCPT TO |
Identifies the message recipients; used in the form RCPT TO:. |
TURN |
Allows the client and server to switch roles and send mail in the reverse direction without having to establish a new connection. |
ATRN |
The ATRN (Authenticated TURN) command optionally takes one or more domains as a parameter. The ATRN command must be rejected if the session has not been authenticated. |
SIZE |
Provides a mechanism by which the SMTP server can indicate the maximum size message supported. Compliant servers must provide size extensions to indicate the maximum size message that can be accepted. Clients should not send messages that are larger than the size indicated by the server. |
ETRN |
An extension of SMTP. ETRN is sent by an SMTP server to request that another server send any e-mail messages that it has. |
PIPELINING |
Provides the ability to send a stream of commands without waiting for a response after each command. |
CHUNKING |
An ESMTP command that replaces the DATA command. So that the SMTP host does not have to continuously scan for the end of the data, this command sends a BDAT command with an argument that contains the total number of bytes in a message. The receiving server counts the bytes in the message and, when the message size equals the value sent by the BDAT command, the server assumes it has received all of the message data. |
DATA |
Sent by a client to initiate the transfer of message content. |
DSN |
An ESMTP command that enables delivery status notifications. |
RSET |
Nullifies the entire message transaction and resets the buffer. |
VRFY |
Verifies that a mailbox is available for message delivery; for example, |
HELP |
Returns a list of commands that are supported by the SMTP service. |
QUIT |
Terminates the session. |
The following table lists the extended SMTP commands that Exchange makes available to the SMTP service.
Extended SMTP command | Command function |
---|---|
X-EXPS GSSAPI |
A method that is used by Microsoft Exchange Server 2003 and Exchange 2000 Server servers to authenticate. |
X-EXPS=LOGIN |
A method that is used by Exchange 2000 and Exchange 2003 servers to authenticate. |
X-EXCH50 |
Provides the ability to propagate message properties during server-to-server communication. |
X-LINK2STATE |
Adds support for link state routing in Exchange. |
You can use event sinks to extend and modify the behavior of the Microsoft Windows 2000 Server and Windows Server™ 2003 SMTP service. Exchange 2003 requires the Windows 2000 or Windows Server 2003 SMTP service to function because most of the transport functionality in Exchange 2003 is accomplished with this architecture. Therefore, after you reinstall Internet Information Services (IIS) or the Windows 2000 or Windows Server 2003 SMTP service, you must also reinstall Exchange.
An SMTP service event is the occurrence of some activity within the SMTP service, such as the transmission or arrival of an SMTP command or the submission of a message into the SMTP service transport component. When a particular event occurs, the SMTP service uses an event dispatcher to notify registered event sinks of the event. When notifying event sinks, the SMTP service passes information to the sink in the form of Component Object Model (COM) object references.
The two general categories of SMTP service events are:
Protocol Events
Protocol events occur when SMTP commands are either received or transmitted over the network. These events occur when:
A client SMTP service or mail user agent uses SMTP to transmit messages for delivery to the local service.
The SMTP service relays messages to other SMTP services.
Transport Events
Transport events occur when the SMTP service receives a message, and that message passes through the SMTP core transport. During the passage through the transport, the message is categorized (examined and placed into categories), and then either delivered to a local storage location or, if it is not local, relayed to another destination.
The default Windows 2000 and Windows Server 2003 protocol and transport events are only accessible by writing Component Object Model (COM) objects in Microsoft Visual C++®. These events are fast, require no extra processing, and offer access to the lowest-level message properties; however, these events are more complex to write. For smaller jobs that do not require high performance, you can use the CDO_OnArrival event, which you can write using Microsoft Visual Basic® Scripting Edition (VBScript).
For more information about writing one of these event sinks, download the Platform SDK, or see the MSDN® developer program article Microsoft Windows 2000 SMTP Service Events.
The following table lists the ports commonly used by Exchange. For more information about which ports need to be opened internally or externally, see Using Microsoft Exchange 2000 Front-End Servers.
Protocol | Port | Description |
---|---|---|
SMTP |
TCP: 25 |
The SMTP service uses TCP port 25. |
DNS |
TCP/UDP: 53 |
DNS listens on port 53. Domain controllers use this port. |
LSA |
TCP: 691 |
The Microsoft Exchange Routing Engine service (RESvc) listens for routing link state information on this port. |
LDAP |
TCP/UPD: 389 |
Lightweight directory access protocol (LDAP) used by Microsoft Active Directory® directory service, Active Directory Connector, and the Microsoft Exchange Server 5.5 directory use this port. |
LDAP/SSL |
TCP/UDP: 636 |
LDAP over Secure Sockets Layer (SSL) uses this port. |
LDAP |
TCP/UDP: 379 |
The Site Replication Service (SRS) uses this port. |
LDAP |
TCP/UDP: 390 |
This is the recommended alternate port to configure the Exchange Server 5.5 LDAP protocol when Exchange Server 5.5 is running on an Active Directory domain controller. |
LDAP |
TCP: 3268 |
Global catalog. The Windows 2000 and Windows Server 2003 Active Directory global catalog (a domain controller "role") listens on TCP port 3268. |
LDAP/SSLPort |
TCP: 3269 |
Global catalog over SSL. Applications that connect to TCP port 3269 of a global catalog server can transmit and receive SSL encrypted data. |
IMAP4 |
TCP: 143 |
Internet Message Access Protocol (IMAP) uses this port. |
IMAP4/SSL |
TCP: 993 |
IMAP4 over SSL uses this port. |
POP3 |
TCP: 110 |
Post Office Protocol version 3 (POP3) uses this port. |
POP3/SSL |
TCP: 995 |
POP3 over SSL uses this port. |
NNTP |
TCP: 119 |
Network News Transfer Protocol (NNTP) uses this port. |
NNTP/SSL |
TCP: 563 |
NNTP over SSL uses this port. |
HTTP |
TCP: 80 |
HTTP uses this port. |
HTTP/SSL |
TCP: 443 |
HTTP over SSL uses this port. |