2.2.3 SMTP Client Messages

This section defines the creation of SMTP_AUTH_NTLM_BLOB_Command messages. These NTLM messages sent by the client are encapsulated as follows to conform to the SMTP-AUTH mechanism:

  1. base64-encode (as specified in [RFC1521]) the NTLM message data. This is required because NTLM messages contain data outside the ASCII character range whereas SMTP only supports ASCII characters to be sent within the context of SMTP-AUTH.

  2. Suffix the <CR> and <LF> characters (ASCII values 0x0D and 0x0A), as required by SMTP.

The definition of a client message is as follows:

  <base64-encoded-NTLM-message><CR><LF>

De-encapsulation of these messages by the server follows the reverse logic:

  1. Remove the <CR> and <LF> characters (ASCII values 0x0D and 0x0A).

  2. base64 decode the SMTP data to produce the original NTLM message data.