1.2.1.18.2 Simple Mail Transfer Protocol Client (SMTPC) Configurations

SMTPC Specific User Configurations

  • Number of Mail Connections to be Created:

    • Number of mail connections (sockets) to be created
    • Each mail message requires a mail connection
    • Adjust based on the number of simultaneous mail messages in transit
    • Default value: 3
    • Symbol TCPIP_SMTPC_MAIL_CONNECTIONS
  • SMTPC Socket TX Buffer Size:

    • Define the size of the TX buffer for the SMTPC socket
    • Use 0 for default TCP socket value
    • The SMTPC TX does not need high throughput so the default value is usually fine.
    • For transferring large files increase this value as needed.
    • Default value: 0
    • Symbol TCPIP_SMTPC_SKT_TX_BUFF_SIZE
  • SMTPC Socket RX Buffer Size:

    • Define the size of the RX buffer for the SMTPC socket
    • Use 0 for default TCP socket value
    • The SMTPC RX does not need high throughput so the default value is usually fine.
    • Default value: 0
    • Symbol TCPIP_SMTPC_SKT_RX_BUFF_SIZE
  • Number of Retries for Sending a Mail Message:

    • How many times to retry sending a mail message
    • Retries occur only for server reported transient errors or for internal temporary errors (DNS, socket errors, etc.)
    • Default value: 3
    • Symbol TCPIP_SMTPC_MAIL_RETRIES
  • SMTPC Client Mail Date String:

    • Default string that identifies the SMTPC client mail date
    • Currently there is no date/time service available
    • The mail server will update with the current date
    • Keep the current data/time format that is accepted by the SMTP servers
    • Default value: "Wed, 20 July 2016 14:55:06 -0600"
    • Symbol TCPIP_SMTPC_CLIENT_MESSAGE_DATE
  • Enable Console Commands:

    • Enable the SMTPC TCP/IP Console Commands
    • Use the sample tcpip console "mail" command for sending email from the console
    • Default value: false
    • Symbol: TCPIP_SMTPC_USE_MAIL_COMMAND
  • SMTPC Task Rate (in msec):

    • SMTPC task processing rate, in milliseconds.
    • The SMTPC module will process a timer event with this rate for maintaining its own queues, processing timeouts, etc.
    • The lower the rate (higher the frequency) the higher the module priority and higher module performance can be obtained
    • The value cannot be lower than the TCPIP_STACK_TICK_RATE.
    • Value is in milliseconds
    • Default value: 55
    • Symbol TCPIP_SMTPC_TASK_TICK_RATE
  • General Server Response Timeout (in sec):

    • General server response timeout, seconds
    • Should be adjusted according to the server responsivity
    • RFC specifies it as 5 min
    • Default is 1 minute, which should normally be enough
    • Value is in seconds
    • Default value: 60
    • Symbol TCPIP_SMTPC_SERVER_REPLY_TIMEOUT
  • Timeout for Server Acknowledgment of Mail Data (in sec):

    • Server acknowledgment of the mail data: body, attachments et all
    • Should be adjusted according to the server responsivity
    • RFC specifies it as 10 min
    • Default is 1 minute, which should normally be enough
    • Value is in seconds
    • Default value: 60
    • Symbol TCPIP_SMTPC_SERVER_DATA_TIMEOUT
  • Timeout for the TLS Handshake to Complete (in sec):

    • The timeout for the TLS handshake to complete
    • When a secure connection is established to the mail server
    • Adjust based on the processing speed, key size, etc.
    • Value is in seconds
    • Default value: 10
    • Symbol TCPIP_SMTPC_TLS_HANDSHAKE_TIMEOUT
  • Server Transient Error Retry Interval (in sec):

    • The retry interval because of a server transient error
    • RFC specifies it should be at least 30 min!
    • Value is in seconds
    • Default value: 600
    • Symbol TCPIP_SMTPC_SERVER_TRANSIENT_RETRY_TIMEOUT
  • SMTPC Temporary Error Retry Interval (in sec):

    • The retry interval because of a SMTPC temporary error
    • These include temporary errors related to: DNS, socket connection, TLS.
    • Value is in seconds
    • Default value: 10
    • Symbol TCPIP_SMTPC_INTERNAL_RETRY_TIMEOUT
  • Server Reply Processing RX Buffer Size:

    • Size of the RX buffer for processing the server replies
    • Usually the server replies are not very long
    • Note that some serverz expect a window > 1400 bytes
    • Default value: 2048
    • Symbol TCPIP_SMTPC_SERVER_REPLY_BUFFER_SIZE
  • SMTP Client Authentication Buffer Size:

    • Size of a buffer that can hold the 2* username and password
    • Note: this buffer is automatic, created on the stack
    • Check your project stack settings if you need a large buffer here!
    • If buffer not long enough this could generate TCPIP_SMTPC_RES_MESSAGE_AUTH_LEN_ERROR.
    • Default value: 100
    • Symbol TCPIP_SMTPC_CLIENT_AUTH_BUFFER_SIZE
  • Email Address Buffer Size:

    • Size of a buffer that can hold an email address: user@domain.smth
    • Note: this buffer is automatic, created on the stack
    • Check your project stack settings if you need a large buffer here!
    • If buffer not long enough this could generate TCPIP_SMTPC_RES_MESSAGE_ADDR_LEN_ERROR.
    • Default value: 80
    • Symbol TCPIP_SMTPC_CLIENT_ADDR_BUFFER_SIZE
  • Plain Email Text Line Buffer Size:

    • Size of an email line when sending the email body as plain text
    • SMTP lines are recommended to be 78 chars long and MUST not exceed 998 characters!
    • This implementation limits the line size to TCPIP_SMTPC_PLAIN_LINE_BUFF_SIZE (usually 256 or 512).
    • So any mail line longer that this size will have inserted an artificial end of line sequence (CRLF) after this many characters.
    • Note: this buffer is automatic, created on the stack
    • Check your project stack settings if you need a large buffer here!
    • Note: Lines are sent out as a whole so the line cannot be longer than the TCP socket TX buffer!
    • SMTPC will ensure that this symbol does not exceed the size of the socket TX buffer by allocating
    • a larger TX buffer, if needed
    • Default value: 256
    • Symbol TCPIP_SMTPC_PLAIN_LINE_BUFF_SIZE