Start a conversation

Enabling TLS Slows Down Message Delivery in LM

Overview

After changing the lmcfg.txt file to allow TLS by setting $starttls_extension_enabled="true" you notice that message delivery is taking significantly longer than before.


Prerequisites

  • To complete the solution you must be running version 12.3.9 or higher. We recommend upgrading to the latest version for optimal performance.
  • Access to edit:
    • Windows: C:\Program Files\ListManager\lmcfg.txt
    • Linux: ~/ListManager/bin/lmcfg.txt

Solution

In order to resolve issues related to TLS implementation, it is necessary to implement a new algorithm that balances the connection between the ListManager instance and the destination SMTP server. This solution is especially important when there are a large number of TLS enabled domains on the mailing list. Following this procedure will avoid SMTP server penalties that cause slowness, timeouts, and hard bounces.

  1. Navigate to and edit the lmcfg.txt file in order to assign the following values:
    • $starttls_extension_enabled= "true";
    • $logging_of_average_messages_sent_per_connection_enabled = "true";
    • $recipients_ordering_by_domain_first_enabled = "true";
    • $min_messages_per_connection = "10";
  2. Save the changes and restart Lyris LM

After the server restarts, message delivery time is improved.

Algorithm Details

Setting Description
$starttls_extension_enabled By default, this is set to "false". If it is set to "false", LM will send out unencrypted emails. If it is set to "true", LM will send out encrypted emails depending on whether the receiving SMTP server supports the STARTTLS extension.
$logging_of_average_messages_sent_per_connection_enabled When enabled, LM will
calculate the average of messages sent by connection and used to decide when to open a new connection.
$recipients_ordering_by_domain_first_enabled When enabled, LM will sort the recipient queue by domains alphabetically. This will force LM to use the same connection and
avoid losing time in the handshake with a new connection. Note that it reduces the number of parallel connections so using this option in some cases reduces the sending performance.
$min_messages_per_connection This sets the minimum number of messages per connection to avoid creating new connections and losing time performing
the handshake for TLS connections.

 

Choose files or drag and drop files
Was this article helpful?
Yes
No
  1. Priyanka Bhotika

  2. Posted
  3. Updated

Comments