/////////////////////////////////////////////////////////////////////////
//                                                                     //
//                  SMTP specific items                                //
//                                                                     //
/////////////////////////////////////////////////////////////////////////

//
//  Service name.
//

# define SMTP_SERVICE_NAME          TEXT("SMTPSVC")
# define SMTP_SERVICE_NAME_A        "SMTPSVC"
# define SMTP_SERVICE_NAME_W        L"SMTPSVC"
# define SMTP_MD_ROOT_PATH          "/LM/SmtpSvc/"
# define SMTP_MD_LOCAL_DOMAINS_PATH "/LocalDomains"
# define SMTP_MD_DOMAIN_ROUTES_PATH "/DomainRoutes"

//
//   Client Interface Name for RPC connections over named pipes
//

# define  SMTP_INTERFACE_NAME     SMTP_SERVICE_NAME
# define  SMTP_NAMED_PIPE         TEXT("\\PIPE\\") ## SMTP_INTERFACE_NAME
# define  SMTP_NAMED_PIPE_W       L"\\PIPE\\" ## SMTP_SERVICE_NAME_W


//service location junk
#define INET_SMTP_SVCLOC_ID         (ULONGLONG)(0x2000000000000000)

//Domain routing table bit fields
typedef DWORD DOMAIN_ROUTE_ACTION_TYPE;

#define SMTP_NO_ACTION      ((DOMAIN_ROUTE_ACTION_TYPE)(0x00000000))
#define SMTP_DROP           ((DOMAIN_ROUTE_ACTION_TYPE)(0x00000001))
#define SMTP_SMARTHOST      ((DOMAIN_ROUTE_ACTION_TYPE)(0x00000002))
#define SMTP_SSL            ((DOMAIN_ROUTE_ACTION_TYPE)(0x00000004))
#define SMTP_SASL           ((DOMAIN_ROUTE_ACTION_TYPE)(0x00000008))
#define SMTP_ALIAS          ((DOMAIN_ROUTE_ACTION_TYPE)(0x00000010))
#define SMTP_DELIVER        ((DOMAIN_ROUTE_ACTION_TYPE)(0x00000020))
#define SMTP_DEFAULT        ((DOMAIN_ROUTE_ACTION_TYPE)(0x00000040))
#define SMTP_AUTH_NTLM      ((DOMAIN_ROUTE_ACTION_TYPE)(0x00000080))
#define SMTP_AUTH_CLEARTEXT ((DOMAIN_ROUTE_ACTION_TYPE)(0x00000100))
#define SMTP_ETRN_CMD       ((DOMAIN_ROUTE_ACTION_TYPE)(0x00000200))
#define SMTP_IP_RELAY       ((DOMAIN_ROUTE_ACTION_TYPE)(0x00000400))
#define SMTP_AUTH_RELAY     ((DOMAIN_ROUTE_ACTION_TYPE)(0x00000800))
#define SMTP_DOMAIN_RELAY   ((DOMAIN_ROUTE_ACTION_TYPE)(0x00001000))
#define SMTP_CSIDE_TURN     ((DOMAIN_ROUTE_ACTION_TYPE)(0x00002000))
#define SMTP_CSIDE_ETRN     ((DOMAIN_ROUTE_ACTION_TYPE)(0x00004000))
#define SMTP_DISABLE_ETRN   ((DOMAIN_ROUTE_ACTION_TYPE)(0x00008000))
#define SMTP_CHUNKING       ((DOMAIN_ROUTE_ACTION_TYPE)(0x00010000))
#define SMTP_DISABLE_CHUNK  ((DOMAIN_ROUTE_ACTION_TYPE)(0x00020000))
#define SMTP_DISABLE_BMIME  ((DOMAIN_ROUTE_ACTION_TYPE)(0x00040000))
#define SMTP_DISABLE_DSN    ((DOMAIN_ROUTE_ACTION_TYPE)(0x00080000))
#define SMTP_DISABLE_PIPELINE ((DOMAIN_ROUTE_ACTION_TYPE)(0x00100000))
#define SMTP_AUTH_KERBEROS  ((DOMAIN_ROUTE_ACTION_TYPE)(0x00200000))
#define SMTP_USE_HELO       ((DOMAIN_ROUTE_ACTION_TYPE)(0x00400000))
#define SMTP_DISABLE_DROP_QUOTA ((DOMAIN_ROUTE_ACTION_TYPE)(0x00800000))

#define SMTP_ALL_ROUTE_FLAGS    ( \
                                SMTP_NO_ACTION |\
                                SMTP_DROP   |\
                                SMTP_SMARTHOST |\
                                SMTP_SSL |\
                                SMTP_SASL |\
                                SMTP_ALIAS |\
                                SMTP_DELIVER |\
                                SMTP_DEFAULT |\
                                SMTP_AUTH_NTLM |\
                                SMTP_AUTH_CLEARTEXT |\
                                SMTP_ETRN_CMD |\
                                SMTP_IP_RELAY |\
                                SMTP_AUTH_RELAY |\
                                SMTP_CSIDE_TURN |\
                                SMTP_CSIDE_ETRN |\
                                SMTP_DOMAIN_RELAY |\
                                SMTP_DISABLE_ETRN |\
                                SMTP_CHUNKING |\
                                SMTP_AUTH_KERBEROS |\
                                SMTP_USE_HELO)

#define SMTP_ALL_AUTH_FLAGS ( \
                            SMTP_AUTH_NTLM |\
                            SMTP_AUTH_CLEARTEXT \
                            )
//

typedef DWORD INBOUND_COMMAND_SUPPORT_OPTIONS;

#define SMTP_I_SUPPORT_VRFY         ((INBOUND_COMMAND_SUPPORT_OPTIONS)(0x00000001))
#define SMTP_I_SUPPORT_VRFY_ON_SSL  ((INBOUND_COMMAND_SUPPORT_OPTIONS)(0x00000002))
#define SMTP_I_SUPPORT_VRFY_ON_AUTH ((INBOUND_COMMAND_SUPPORT_OPTIONS)(0x00000004))
#define SMTP_I_SUPPORT_EXPN         ((INBOUND_COMMAND_SUPPORT_OPTIONS)(0x00000008))
#define SMTP_I_SUPPORT_EXPN_ON_SSL  ((INBOUND_COMMAND_SUPPORT_OPTIONS)(0x00000010))
#define SMTP_I_SUPPORT_EXPN_ON_AUTH ((INBOUND_COMMAND_SUPPORT_OPTIONS)(0x00000020))
#define SMTP_I_SUPPORT_DSN          ((INBOUND_COMMAND_SUPPORT_OPTIONS)(0x00000040))
#define SMTP_I_SUPPORT_ETRN         ((INBOUND_COMMAND_SUPPORT_OPTIONS)(0x00000080))
#define SMTP_I_SUPPORT_ETRN_ON_SSL  ((INBOUND_COMMAND_SUPPORT_OPTIONS)(0x00000100))
#define SMTP_I_SUPPORT_ETRN_ON_AUTH ((INBOUND_COMMAND_SUPPORT_OPTIONS)(0x00000200))
#define SMTP_I_SUPPORT_TURN         ((INBOUND_COMMAND_SUPPORT_OPTIONS)(0x00000400))
#define SMTP_I_SUPPORT_TURN_ON_SSL  ((INBOUND_COMMAND_SUPPORT_OPTIONS)(0x00000800))
#define SMTP_I_SUPPORT_ECODES       ((INBOUND_COMMAND_SUPPORT_OPTIONS)(0x00001000))
#define SMTP_I_SUPPORT_PIPELINING   ((INBOUND_COMMAND_SUPPORT_OPTIONS)(0x00002000))
#define SMTP_I_SUPPORT_AUTH         ((INBOUND_COMMAND_SUPPORT_OPTIONS)(0x00004000))
#define SMTP_I_SUPPORT_AUTH_ON_SSL  ((INBOUND_COMMAND_SUPPORT_OPTIONS)(0x00008000))
#define SMTP_I_SUPPORT_LOGIN        ((INBOUND_COMMAND_SUPPORT_OPTIONS)(0x00010000))
#define SMTP_I_SUPPORT_LOGIN_ON_SSL ((INBOUND_COMMAND_SUPPORT_OPTIONS)(0x00020000))
#define SMTP_I_SUPPORT_HELP         ((INBOUND_COMMAND_SUPPORT_OPTIONS)(0x00040000))
#define SMTP_I_SUPPORT_HELP_ON_AUTH ((INBOUND_COMMAND_SUPPORT_OPTIONS)(0x00080000))
#define SMTP_I_SUPPORT_CHUNK        ((INBOUND_COMMAND_SUPPORT_OPTIONS)(0x00100000))
#define SMTP_I_SUPPORT_BMIME        ((INBOUND_COMMAND_SUPPORT_OPTIONS)(0x00200000))
#define SMTP_I_SUPPORT_8BITMIME    ((INBOUND_COMMAND_SUPPORT_OPTIONS)(0x00400000))

#define SMTP_DEFAULT_CMD_SUPPORT    ( \
                                SMTP_I_SUPPORT_VRFY |\
                                SMTP_I_SUPPORT_DSN |\
                                SMTP_I_SUPPORT_TURN |\
                                SMTP_I_SUPPORT_ETRN |\
                                SMTP_I_SUPPORT_AUTH |\
                                SMTP_I_SUPPORT_LOGIN |\
                                SMTP_I_SUPPORT_HELP |\
                                SMTP_I_SUPPORT_CHUNK |\
                                SMTP_I_SUPPORT_BMIME |\
                                SMTP_I_SUPPORT_ECODES |\
                                SMTP_I_SUPPORT_PIPELINING |\
                                SMTP_I_SUPPORT_8BITMIME )

#define SMTP_IS_SSL_CONNECTION (0x00000001)
#define SMTP_IS_AUTH_CONNECTION (0x00000002)

//

typedef DWORD OUTBOUND_COMMAND_SUPPORT_OPTIONS;

#define SMTP_0_SUPPORT_DSN      ((OUTBOUND_COMMAND_SUPPORT_OPTIONS)(0x00000001))
#define SMTP_0_FORCE_CHUNK    ((OUTBOUND_COMMAND_SUPPORT_OPTIONS)(0x00000002))
#define SMTP_0_SUPPORT_BMIME    ((OUTBOUND_COMMAND_SUPPORT_OPTIONS)(0x00000004))

#define SMTP_DEFAULT_OUTBOUND_SUPPORT   ( \
                                    SMTP_0_SUPPORT_DSN )

typedef DWORD REVERSE_DNS_OPTIONS;

#define SMTP_I_HELOEHLO_RDNS            ((REVERSE_DNS_OPTIONS)(0x00000001))
#define SMTP_I_HELOEHLO_RDNS_DISCONNECT ((REVERSE_DNS_OPTIONS)(0x00000002))
#define SMTP_I_MAILFROM_RDNS            ((REVERSE_DNS_OPTIONS)(0x00000004))
#define SMTP_I_MAILFROM_RDNS_DISCONNECT ((REVERSE_DNS_OPTIONS)(0x00000008))


//  these should be added in the
//  metabase with a user type of IIS_MD_UT_SERVER
//

#define MD_COMMAND_LOG_MASK             (SMTP_MD_ID_BEGIN_RESERVED )			// 36864
#define MD_FLUSH_MAIL_FILE              (SMTP_MD_ID_BEGIN_RESERVED+2 )
#define MD_BATCH_MSG_LIMIT              (SMTP_MD_ID_BEGIN_RESERVED+7 )
#define MD_MAX_MAIL_OBJECTS             (SMTP_MD_ID_BEGIN_RESERVED+9 )
#define MD_ROUTING_THREADS              (SMTP_MD_ID_BEGIN_RESERVED+10 )
#define MD_MAIL_QUEUE_DIR               (SMTP_MD_ID_BEGIN_RESERVED+11 )
#define MD_SHOULD_PICKUP_MAIL           (SMTP_MD_ID_BEGIN_RESERVED+12 )
#define MD_MAX_DIR_BUFFERS              (SMTP_MD_ID_BEGIN_RESERVED+13 )
#define MD_MAX_DIR_CHANGE_IO_SIZE       (SMTP_MD_ID_BEGIN_RESERVED+14 )
#define MD_MAX_DIR_PENDING_IOS          (SMTP_MD_ID_BEGIN_RESERVED+15 )
#define MD_MAIL_PICKUP_DIR              (SMTP_MD_ID_BEGIN_RESERVED+16 )			// 36880
#define MD_SHOULD_DELIVER               (SMTP_MD_ID_BEGIN_RESERVED+17 )
#define MD_MAIL_DROP_DIR                (SMTP_MD_ID_BEGIN_RESERVED+18 )
#define MD_ROUTING_DLL                  (SMTP_MD_ID_BEGIN_RESERVED+19 )
#define MD_REVERSE_NAME_LOOKUP          (SMTP_MD_ID_BEGIN_RESERVED+20 )
#define MD_NAME_RESOLUTION_TYPE         (SMTP_MD_ID_BEGIN_RESERVED+21 )
#define MD_HOP_COUNT                    (SMTP_MD_ID_BEGIN_RESERVED+22 )
#define MD_MAX_SMTP_ERRORS              (SMTP_MD_ID_BEGIN_RESERVED+23 )
#define MD_MAX_MSG_SIZE                 (SMTP_MD_ID_BEGIN_RESERVED+27 )
#define MD_MAX_MSG_SIZE_B4_CLOSE        (SMTP_MD_ID_BEGIN_RESERVED+28 )
//#define MD_OUTBOUND_TIMEOUT             (SMTP_MD_ID_BEGIN_RESERVED+29 )
#define MD_MAX_OUTBOUND_CONNECTION      (SMTP_MD_ID_BEGIN_RESERVED+30 )
#define MD_MAX_RECIPIENTS               (SMTP_MD_ID_BEGIN_RESERVED+31 )
#define MD_LOCAL_RETRY_ATTEMPTS         (SMTP_MD_ID_BEGIN_RESERVED+32 )
#define MD_LOCAL_RETRY_MINUTES          (SMTP_MD_ID_BEGIN_RESERVED+33 )
#define MD_REMOTE_RETRY_ATTEMPTS        (SMTP_MD_ID_BEGIN_RESERVED+34 )
#define MD_REMOTE_RETRY_MINUTES         (SMTP_MD_ID_BEGIN_RESERVED+35 )
//#define MD_SHARE_RETRY_MINUTES          (SMTP_MD_ID_BEGIN_RESERVED+36 )			// 36900
#define MD_SHOULD_PIPELINE_OUT          (SMTP_MD_ID_BEGIN_RESERVED+37 )
#define MD_SHOULD_PIPELINE_IN           (SMTP_MD_ID_BEGIN_RESERVED+38 )
#define MD_SMARTHOST_TYPE               (SMTP_MD_ID_BEGIN_RESERVED+41 )
#define MD_SMARTHOST_NAME               (SMTP_MD_ID_BEGIN_RESERVED+42 )
#define MD_CONNECT_RESPONSE             (SMTP_MD_ID_BEGIN_RESERVED+43 )
#define MD_DEFAULT_DOMAIN_VALUE         (SMTP_MD_ID_BEGIN_RESERVED+44 )
#define MD_BAD_MAIL_DIR                 (SMTP_MD_ID_BEGIN_RESERVED+45 )
#define MD_ROUTING_SOURCES              (SMTP_MD_ID_BEGIN_RESERVED+46 )
//#define MD_REMOTE_HANG_TIME             (SMTP_MD_ID_BEGIN_RESERVED+47 )
#define MD_MASQUERADE_NAME              (SMTP_MD_ID_BEGIN_RESERVED+48 )
#define MD_DO_MASQUERADE                (SMTP_MD_ID_BEGIN_RESERVED+49 )
#define MD_REMOTE_SMTP_PORT             (SMTP_MD_ID_BEGIN_RESERVED+50 )

// added by feisu
//#define MD_SSLPORT                      (SMTP_MD_ID_BEGIN_RESERVED+51 )
#define MD_POSTMASTER_EMAIL             (SMTP_MD_ID_BEGIN_RESERVED+52 )
#define MD_POSTMASTER_NAME              (SMTP_MD_ID_BEGIN_RESERVED+53 )
#define MD_ETRN_DAYS                    (SMTP_MD_ID_BEGIN_RESERVED+54 )
// end added by feisu

#define MD_LOCAL_DOMAINS                (SMTP_MD_ID_BEGIN_RESERVED+55)
#define MD_DOMAIN_ROUTING               (SMTP_MD_ID_BEGIN_RESERVED+56)			// 36920
#define MD_REMOTE_TIMEOUT               (SMTP_MD_ID_BEGIN_RESERVED+57)

#define MD_SEND_NDR_TO                  (SMTP_MD_ID_BEGIN_RESERVED+58)
#define MD_SEND_BAD_TO                  (SMTP_MD_ID_BEGIN_RESERVED+59)
#define MD_ALWAYS_USE_SSL               (SMTP_MD_ID_BEGIN_RESERVED+60)
#define MD_MAX_OUT_CONN_PER_DOMAIN      (SMTP_MD_ID_BEGIN_RESERVED+61)
#define MD_LIMIT_REMOTE_CONNECTIONS     (SMTP_MD_ID_BEGIN_RESERVED+62)
#define MD_REMOTE_SECURE_PORT           (SMTP_MD_ID_BEGIN_RESERVED+65)
//#define MD_SORT_TEMP_DIR                (SMTP_MD_ID_BEGIN_RESERVED+66)
#define MD_SMTP_SERVICE_VERSION         (SMTP_MD_ID_BEGIN_RESERVED+67)

//#define MD_SMTP_EXTENSION_DLLS          (SMTP_MD_ID_BEGIN_RESERVED+68)
//#define MD_SMTP_NUM_RESOLVER_SOCKETS    (SMTP_MD_ID_BEGIN_RESERVED+69)
//#define MD_SMTP_USE_MX_RESOLVER         (SMTP_MD_ID_BEGIN_RESERVED+70)
#define MD_FQDN_VALUE                   (SMTP_MD_ID_BEGIN_RESERVED+71)
#define MD_UPDATED_FQDN                 (SMTP_MD_ID_BEGIN_RESERVED+72)
#define MD_UPDATED_DEFAULT_DOMAIN       (SMTP_MD_ID_BEGIN_RESERVED+73)
#define MD_ETRN_SUBDOMAINS              (SMTP_MD_ID_BEGIN_RESERVED+74)
//#define MD_MAX_POOL_THREADS             (SMTP_MD_ID_BEGIN_RESERVED+75)
#define MD_SASL_LOGON_DOMAIN            (SMTP_MD_ID_BEGIN_RESERVED+76)			// 36940
//#define MD_SERVER_SS_AUTH_MAPPING       (SMTP_MD_ID_BEGIN_RESERVED+77)
#define MD_SMTP_CLEARTEXT_AUTH_PROVIDER (SMTP_MD_ID_BEGIN_RESERVED+78)
//#define MD_ALWAYS_USE_SASL              (SMTP_MD_ID_BEGIN_RESERVED+79)
//#define MD_SMTP_AUTHORIZATION           (SMTP_MD_ID_BEGIN_RESERVED+80)
#define MD_MAX_SMTP_AUTHLOGON_ERRORS    (SMTP_MD_ID_BEGIN_RESERVED+81)

#define MD_ROUTE_ACTION                 (SMTP_MD_ID_BEGIN_RESERVED+82)
#define MD_ROUTE_ACTION_TYPE            (SMTP_MD_ID_BEGIN_RESERVED+83)
#define MD_ROUTE_USER_NAME              (SMTP_MD_ID_BEGIN_RESERVED+84)
#define MD_ROUTE_PASSWORD               (SMTP_MD_ID_BEGIN_RESERVED+85)

#define MD_SMTP_DS_TYPE                 (SMTP_MD_ID_BEGIN_RESERVED+86)
#define MD_SMTP_DS_DATA_DIRECTORY       (SMTP_MD_ID_BEGIN_RESERVED+87)
#define MD_SMTP_DS_DEFAULT_MAIL_ROOT    (SMTP_MD_ID_BEGIN_RESERVED+88)
#define MD_SMTP_DS_BIND_TYPE            (SMTP_MD_ID_BEGIN_RESERVED+89)
#define MD_SMTP_DS_SCHEMA_TYPE          (SMTP_MD_ID_BEGIN_RESERVED+90)
#define MD_SMTP_DS_HOST                 (SMTP_MD_ID_BEGIN_RESERVED+91)
#define MD_SMTP_DS_NAMING_CONTEXT       (SMTP_MD_ID_BEGIN_RESERVED+92)
#define MD_SMTP_DS_ACCOUNT              (SMTP_MD_ID_BEGIN_RESERVED+93)
#define MD_SMTP_DS_PASSWORD             (SMTP_MD_ID_BEGIN_RESERVED+94)
//#define MD_SMTP_DS_MAX_RESOLVE_BUFFERS  (SMTP_MD_ID_BEGIN_RESERVED+95)
//#define MD_SMTP_DS_MAX_VIRTUAL_SERVERS  (SMTP_MD_ID_BEGIN_RESERVED+96)			// 36960
//#define MD_SMTP_DS_MAX_HANDLE_CACHE_ENTRIES  (SMTP_MD_ID_BEGIN_RESERVED+97)
//#define MD_SMTP_DS_SORT_THRESHOLD       (SMTP_MD_ID_BEGIN_RESERVED+98)
//#define MD_SMTP_PREFERRED_AUTH          (SMTP_MD_ID_BEGIN_RESERVED+99)
#define MD_SMTP_MAX_REMOTEQ_THREADS     (SMTP_MD_ID_BEGIN_RESERVED+100)
#define MD_SMTP_MAX_LOCALQ_THREADS      (SMTP_MD_ID_BEGIN_RESERVED+101)
#define MD_SMTP_AUTHORIZED_TURN_LIST    (SMTP_MD_ID_BEGIN_RESERVED+102)
#define MD_SMTP_CSIDE_ETRN_DELAY        (SMTP_MD_ID_BEGIN_RESERVED+103)
#define MD_SMTP_CSIDE_ETRN_DOMAIN       (SMTP_MD_ID_BEGIN_RESERVED+104)
//#define MD_SMTP_VALIDATE_HELO_ARG       (SMTP_MD_ID_BEGIN_RESERVED+105)
#define MD_SMTP_IP_RELAY_ADDRESSES      (SMTP_MD_ID_BEGIN_RESERVED+106)

//#define MD_SYSTEM_ROUTING_THREADS       (SMTP_MD_ID_BEGIN_RESERVED+108)
#define MD_SMTP_RELAY_FOR_AUTH_USERS    (SMTP_MD_ID_BEGIN_RESERVED+109)
#define MD_SMTP_DISABLE_RELAY           (SMTP_MD_ID_BEGIN_RESERVED+110)

//Chunking advertisement flags
//#define MD_SHOW_BINARY_MIME             (SMTP_MD_ID_BEGIN_RESERVED+111)
//#define MD_SHOW_CHUNKING                (SMTP_MD_ID_BEGIN_RESERVED+112)

//#define MD_SMTP_RDNS_OPTIONS            (SMTP_MD_ID_BEGIN_RESERVED+113)
//#define MD_SMTP_DSN_DELAY               (SMTP_MD_ID_BEGIN_RESERVED+114)
#define MD_ROUTE_AUTHTARGET             (SMTP_MD_ID_BEGIN_RESERVED+115)
																				// (+116) 36980
#define MD_SMTP_HELO_NODOMAIN           (SMTP_MD_ID_BEGIN_RESERVED+117)
#define MD_SMTP_MAIL_NO_HELO            (SMTP_MD_ID_BEGIN_RESERVED+118)
#define MD_SMTP_INBOUND_NAGLE           (SMTP_MD_ID_BEGIN_RESERVED+119)
#define MD_SMTP_OUTBOUND_NAGLE          (SMTP_MD_ID_BEGIN_RESERVED+120)
#define MD_SMTP_INBOUND_SND_BUFF        (SMTP_MD_ID_BEGIN_RESERVED+121)
#define MD_SMTP_INBOUND_RCV_BUFF        (SMTP_MD_ID_BEGIN_RESERVED+122)

//DLL specifiers flags
#define MD_AQUEUE_DLL                   (SMTP_MD_ID_BEGIN_RESERVED+123)
//#define MD_MAPIDRV_DLL                  (SMTP_MD_ID_BEGIN_RESERVED+124)
//#define MD_CAT_DLL                      (SMTP_MD_ID_BEGIN_RESERVED+125)
#define MD_SMTP_AQUEUE_WAIT             (SMTP_MD_ID_BEGIN_RESERVED+126)
//#define MD_SMTP_USE_REMOTE_DS           (SMTP_MD_ID_BEGIN_RESERVED+127)

//Address validation flags
#define MD_DOMAIN_VALIDATION_FLAGS      (SMTP_MD_ID_BEGIN_RESERVED+128)
#define MD_SMTP_DS_DOMAIN               (SMTP_MD_ID_BEGIN_RESERVED+129)
#define MD_SMTP_DS_USE_CAT              (SMTP_MD_ID_BEGIN_RESERVED+130)


//New Retry related flags
#define MD_SMTP_REMOTE_RETRY_THRESHOLD           (SMTP_MD_ID_BEGIN_RESERVED+131)
#define MD_SMTP_REMOTE_PROGRESSIVE_RETRY_MINUTES (SMTP_MD_ID_BEGIN_RESERVED+132)

#define MD_SMTP_USE_TCP_DNS             (SMTP_MD_ID_BEGIN_RESERVED+133)

#define MD_INBOUND_COMMAND_SUPPORT_OPTIONS  (SMTP_MD_ID_BEGIN_RESERVED+134)
#define MD_OUTBOUND_COMMAND_SUPPORT_OPTIONS  (SMTP_MD_ID_BEGIN_RESERVED+135)
#define MD_ADD_NOHEADERS                (SMTP_MD_ID_BEGIN_RESERVED+136)			// 37000


//Relocated due to ID conflict
#define MD_SMTP_CONNECT_TIMEOUT         (SMTP_MD_ID_BEGIN_RESERVED+137)
#define MD_SMTP_MAILFROM_TIMEOUT        (SMTP_MD_ID_BEGIN_RESERVED+138)
#define MD_SMTP_RCPTTO_TIMEOUT          (SMTP_MD_ID_BEGIN_RESERVED+139)
#define MD_SMTP_DATA_TIMEOUT            (SMTP_MD_ID_BEGIN_RESERVED+140)
#define MD_SMTP_BDAT_TIMEOUT            (SMTP_MD_ID_BEGIN_RESERVED+141)
#define MD_SMTP_AUTH_TIMEOUT            (SMTP_MD_ID_BEGIN_RESERVED+142)
#define MD_SMTP_SASL_TIMEOUT            (SMTP_MD_ID_BEGIN_RESERVED+143)
//#define MD_SMTP_ETRN_TIMEOUT            (SMTP_MD_ID_BEGIN_RESERVED+144)
#define MD_SMTP_TURN_TIMEOUT            (SMTP_MD_ID_BEGIN_RESERVED+145)
#define MD_SMTP_RSET_TIMEOUT            (SMTP_MD_ID_BEGIN_RESERVED+146)
//#define MD_SMTP_QUIT_TIMEOUT            (SMTP_MD_ID_BEGIN_RESERVED+147)
#define MD_SMTP_HELO_TIMEOUT            (SMTP_MD_ID_BEGIN_RESERVED+148)
//#define MD_SMTP_EHLO_TIMEOUT            (SMTP_MD_ID_BEGIN_RESERVED+149)
//#define MD_SMTP_DATATERMINATION_TIMEOUT (SMTP_MD_ID_BEGIN_RESERVED+150)
//#define MD_SMTP_BDATTERMINATION_TIMEOUT (SMTP_MD_ID_BEGIN_RESERVED+151)
//#define MD_SMTP_TLS_TIMEOUT             (SMTP_MD_ID_BEGIN_RESERVED+152)

//For setting DSN expire intervals (in minutes)
#define MD_SMTP_EXPIRE_LOCAL_DELAY_MIN  (SMTP_MD_ID_BEGIN_RESERVED+153)
#define MD_SMTP_EXPIRE_LOCAL_NDR_MIN    (SMTP_MD_ID_BEGIN_RESERVED+154)
#define MD_SMTP_EXPIRE_REMOTE_DELAY_MIN (SMTP_MD_ID_BEGIN_RESERVED+155)
#define MD_SMTP_EXPIRE_REMOTE_NDR_MIN   (SMTP_MD_ID_BEGIN_RESERVED+156)			// 37020

//DSN specific keys
#define MD_SMTP_DSN_OPTIONS             (SMTP_MD_ID_BEGIN_RESERVED+157)
#define MD_SMTP_DSN_LANGUAGE_ID         (SMTP_MD_ID_BEGIN_RESERVED+158)

//
// jstamerj 1998/10/27 08:36:59: To specify the remote ldap tcp port
//
#define MD_SMTP_DS_PORT                 (SMTP_MD_ID_BEGIN_RESERVED+159)
#define MD_SMTP_DS_FLAGS                (SMTP_MD_ID_BEGIN_RESERVED+160)

// SSL keys
#define MD_SMTP_SSL_REQUIRE_TRUSTED_CA       (SMTP_MD_ID_BEGIN_RESERVED+161)
#define MD_SMTP_SSL_CERT_HOSTNAME_VALIDATION (SMTP_MD_ID_BEGIN_RESERVED+162)

// logging level
#define MD_SMTP_EVENTLOG_LEVEL          (SMTP_MD_ID_BEGIN_RESERVED+163)

//#define MD_SMTP_MAX_INBOUND_CONNECTIONS_PER_IP (SMTP_MD_ID_BEGIN_RESERVED+164 )
//#define MD_SMTP_SSL_CERT_HOSTNAME_OVERRIDE  (SMTP_MD_ID_BEGIN_RESERVED+165)

#define MD_SMTP_DISABLE_PICKUP_DOT_STUFF     (SMTP_MD_ID_BEGIN_RESERVED+166)
//
// Flags for the MD_SMTP_DS_FLAGS DWORD key:
//
#define SMTPDSFLAG_RESOLVELOCAL         0x00000001
#define SMTPDSFLAG_RESOLVEREMOTE        0x00000002
#define SMTPDSFLAG_RESOLVESENDER        0x00000004
#define SMTPDSFLAG_RESOLVERECIPIENTS    0x00000008
#define SMTPDSFLAG_ALLFLAGS             0x0000000F
//
//Flags for the MD_SMTP_DS_USE_CAT DWORD key:
//
#define SMTPDSUSECAT_ENABLED            0xFFFFFFFF
#define SMTPDSUSECAT_DISABLED           0x00000000
