
postkick Command in Linux
The postkick command in Linux sends a request to the specific Postfix services. It is used to trigger certain actions within the Postfix mail system.
The postkick command sends a request to a specified service via a local transport channel, enabling Postfix IPC (Inter-Process Communication) for use in scripts. A local transport channel in Postfix is an internal IPC mechanism, generally using Unix domain sockets, for communication between services.
Table of Contents
Here is a comprehensive guide to the options available with the postkick command â
- Syntax of postkick Command
- Options of postkick Command
- Postfix Services
- Examples of postkick Command in Linux
Syntax of postkick Command
The syntax of the postkick command in Linux is as follows:
postkick [options] <class> <service> <request>
In the above syntax −
- [options] − To specify various options to change the output or modify the behavior.
- <class> − To specify transport channel type: public (any user) or private (admin only).
- <service> − To mention the name of the local transport endpoint within the specified class.
- <request> − To specify service-specific command string.
Options of postkick Command
The options for the postkick command are listed below:
Option | Description |
---|---|
-c config_dir | Use an alternate Postfix configuration directory. |
-v | Enable verbose logging; multiple -v increases verbosity. |
Postfix Services
A few Postfix services and their transport channels are listed below:
Service | Transport Channel | Description |
---|---|---|
cleanup | public | Processes incoming mail, applies header/body checks, and prepares messages for the queue. |
flush | public | Forces delivery of queued mail that is scheduled for deferred delivery. |
pickup | public | Collects new mail from the Postfix maildrop directory (/var/spool/postfix/maildrop). |
postlog | public | Handles structured logging for Postfix components. |
qmgr | public | Manages the Postfix mail queue and controls message delivery scheduling. |
showq | public | Displays the mail queue status when queried using postqueue -p. |
anvil | private | Tracks connection and rate limits for SMTP clients. |
bounce | private | Handles non-delivery reports (bounces) for undeliverable messages. |
defer | private | Manages temporary failures and delayed message delivery. |
discard | private | Silently discards messages without sending a non-delivery report. |
error | private | Generates delivery status notifications for failed messages. |
rewrite | private | Rewrites email addresses and routes based on Postfix rules. |
uucp | private | Supports mail delivery via UUCP (Unix-to-Unix Copy Protocol). |
Examples of postkick Command in Linux
This section explores how to use the postkick command in Linux with examples:
Sending a Request to the anvil Service
To send a request to the anvil service, use the postkick command in the following way:
sudo postkick private anvil refresh

The above command tells the anvil to reset its internal counters, which is useful for clearing rate-limiting data, resetting client restrictions without restarting Postfix, and testing new rate-limiting settings.
Sending a Request to the scache Service
To send a request to the scache service to clear cached connection data and reload SMTP settings, use the command given below:
sudo postkick private scache flush

Sending a Request to the pickup Service
To send a request to the pickup service to force it to check for new mail, use the postkick command in the following manner:
sudo postkick public pickup refresh

Getting Verbose Output
To get the verbose output, use the -v option:
sudo postkick -v private pickup refresh

To increase the verbosity level, use -v multiple times.
sudo postkick -vv private pickup refresh

Conclusion
The postkick command in Linux facilitates inter-process communication within the Postfix mail system by sending requests to specified services via a local transport channel. It is useful for triggering actions such as refreshing mail queues, clearing connection caches, and managing mail processing.
With options like specifying an alternate configuration directory and enabling verbose output, postkic k enhances Postfix's automation and scriptability.