We should talk about KCLI

  • July 23, 2024

In case you missed it, the KumoMTA Spring Release is now available in GA! One of the hot items in the release list is a handy addition to the KumoMTA Command Line Interface or "KCLI" that gives you a graphic view of the "top" activities. We mentioned that in the Spring Release announcement, but I thought this might be an excellent opportunity to dive into ALL the features of the KCLI.

KumoMTA is a powerful on-premises Message Transfer Agent (MTA) primarily used by mailops engineers to route emails around the Internet. If you are new to the world of high-volume email, that may sound like a basic thing, but it is actually a very complicated job requiring some complex tools and skills. MailOps engineers and the MTAs they manage are responsible for getting trillions (yes, with a "T") of emails to their destinations yearly. We want to provide better tools to help them do their job more efficiently or provide higher visibility, and the KCLI is one of those tools.

kcli top : As mentioned, the most recent addition to the KCLI functions is a visual top utility to help monitor server performance. Unsurprisingly, the command to invoke this awesomeness is a simple "kcli top". This will show a continuous graphic feed of current queues, memory usage, connections, message volumes and more, all at a glance. 

Screenshot 2024-07-22 at 9.44.40 PM

kcli bounce: This is a powerful function that allows an administrator to internally bounce a message based on domain, tenant or campaign and leave that rule in place for a configurable duration. Combined with the associated bounce-cancel and bounce-list commands, it can be a very powerful tool for managing message streams.

Screenshot 2024-07-21 at 12.56.34 PM

kcli suspend : Similar to the bounce command above, suspend allows an administrator to "pause" a message stream for a configurable period of time. This also has a host of powerful sister commands that include suspend-cancel, suspend-list, suspend-ready-q-cancel, suspend-ready-q-list, suspend-ready-q.

kcli inspect-message: Sometimes, it is important to be able to capture and view a full message, including full headers, while a message is in transit. This is a critical tool when diagnosing complex delivery tools, and while it is *possible* on most MTAs, in most cases, it is extremely difficult to do. This command allows a mailops engineer to easily view a message for debugging and diagnosis.

kcli queue-summary: A powerful MTA like KumoMTA can have thousands of individual queues in various states at any time. Knowing which queues have open connections and messages in transit, or waiting for processing is a critical mailops function. This command provides real time data on all queue status in the system.

Screenshot 2024-07-21 at 12.52.58 PM

kcli rebind: A mailops engineer may have to occasionally move a message stream from one queue to another on demand. This could be for a number of reasons and it may happen often in a day. The rebind command allows you to redirect a whole message stream while re-evaluating all of the rules for that new queue.

kcli trace-smtp-client: When diagnosing delivery issues, it is often necessary to see the SMTP handshake process happen in real time. This command invokes a live feed of the outbound SMTP conversation for diagnostic purposes.

Screenshot 2024-07-22 at 9.17.07 PM

 kcli trace-smtp-server: Similar to the trace-smtp-client mentioned above, this allows you to see the inbound conversation in real time. This can be invaluable in diagnosing injection problems.

trace-smtp-server

kcli set-log-filter: While there is extensive logging available in KumoMTA, this command allows us to adjust the amount of real time debugging data that is recorded in the OS system journal. The data collected here can be invaluable in resolving environmental problems that can affect message processing.

If you are a MailOps Engineer, we see you, we get you, and we built this for you based on your feedback. If you are using these tools in your daily operations, we would love to hear your story.

------------------------------------------------------------------

KumoMTA is the first open-source MTA designed from the ground up for the world's largest commercial senders. We are fueled by Professional Services and Sponsorship revenue.

Join the Discord | Review the Docs | Read the Blog | Grab the Code | Support the team