How to suspend outgoing emails for all email accounts. Print

  • 0

In DirectAdmin, you can suspend outgoing emails for all email accounts associated with a specific DirectAdmin user (panel). You can achieve this using the Exim mail server. You'll need root access to make these changes. Here's a step-by-step guide:

Log in to your DirectAdmin server via SSH as the root user.

Create a file named block_users to store the list of blocked DirectAdmin users. You can create this file in the Exim configuration directory, usually /etc/exim. Use your preferred text editor (e.g., nano, vim) to create the file:


nano /etc/exim/block_users

Add the DirectAdmin username(s) you want to block, one per line. For example:


user1
user2

Save and close the file.

Edit the Exim configuration file, usually located at /etc/exim/exim.conf. Open the file with your preferred text editor:


nano /etc/exim/exim.conf
Locate the section beginning with begin acl. Then, find the acl_check_data: ACL (access control list). If it doesn't exist, you can create it within the begin acl section.

Add the following lines to the acl_check_data: ACL:


deny message = Email delivery for this account is temporarily suspended.
condition = ${if exists{/etc/virtual/${sender_address_domain}/passwd/${local_part}}}
condition = ${lookup{$authenticated_id}lsearch{/etc/exim/block_users}{yes}{no}}
log_message = Email blocked by admin for user $authenticated_id

This will block outgoing emails for the specified DirectAdmin users in the block_users file and log the block action.

Save and close the Exim configuration file.

Restart the Exim mail server to apply the changes:


service exim restart
Or, depending on your system:


systemctl restart exim
Now, outgoing emails for all email accounts associated with the specified DirectAdmin users in the block_users file will be suspended. To unblock a DirectAdmin user, simply remove the username from the file and restart the Exim mail server again


Was this answer helpful?

« Back