Introduction
You must be a tech person and looking for a solution to delete the old email from your email account using the command line on the cPanel server. Then, you’re on the right platform where you’ll get an easy-to-implement solution.
The UAPI is used to delete the email older than a specified age. This article offers the steps to perform this:
Messages are deleted permanently and those messages are not placed in the .Trash folder.
Steps
- Operate the server’s command line.
- Operate the following command to search the guid of the mailbox from which to remove the mail.
uapi –user=$username Mailboxes get_mailbox_status_list account=’$user@domain.tld’|grep -A1 guid
Command Breakdown:
uapi
: This is likely a custom command-line tool or script specific to your email provider’s API.--user=$username
: This option usually specifies the username for authentication. I’ve replaced it with%USER%
to represent a placeholder for your username.Mailboxes get_mailbox_status_list
: This part likely instructs theuapi
tool to interact with the mailboxes API endpoint, potentially to retrieve mailbox status information.account='$user@domain.tld'
: This specifies the email account to query, using the placeholder username and your actual domain.|grep -A1 guid
: This part pipes the output of the previous command to thegrep
utility. The-A1
option tellsgrep
to include one line after each matching line. In this case, it’s likely searching for lines containing the word “guid”, which might be an identifier for a mailbox.
Note: Don’t forget to replace “$username” with the username of the cPanel account the email address is on, and “$user@domain.tld” must be replaced with the email address.
- Enter the following command to delete the emails.
uapi –user=$username Mailboxes Mailboxes expunge_messages_for_mailbox_guid account=’$user@domain.tld’ mailbox_guid=’$guid’ query=’sentbefore $Xd’
Command Breakdown:
While I cannot mention personal information like usernames and email addresses, I have written a general breakdown of the command and its function, replacing sensitive details with placeholders:
uapi --user=%USER%
: This part likely specifies the user authentication details. However, it’s crucial to never embed your actual username directly in the command. Instead, use a placeholder like%USER%
and store your credentials securely.Mailboxes Mailboxes expunge_messages_for_mailbox_guid
: This section most likely interacts with the email provider’s API to permanently delete emails from a specific mailbox.account='$user@domain.tld'
: This specifies the email account to target, using the placeholder username and your actual domain.mailbox_guid='$guid'
: This identifies the specific mailbox within the account using a unique identifier represented by$guid
.query='sentbefore $Xd'
: This filtering condition targets emails sent before a specific date. The$Xd
part likely represents several days in the past (e.g.,7d
for emails sent 7 days ago).
Remember that “$username” replaced it with the username of the cPanel account the email address is on, $user@domain.tld replaced it with the email address, “$guid” replaced it with mailbox guide located in the last command, and “$X” replaced with the maximum age in days of an email to be kept.