Jump to main content

##

# 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