2

I'd like to delete a few hundred email accounts from my domain (it's not all of them).

I've looked and looked. cPanel and Hostgator allow you to bulk-create email accounts and forwarders and there may be a way to bulk-delete forwarders but there doesn't seem to be a way to delete email accounts -- except one click at a time.

So, if I have 197 email accounts to delete:

[email protected]
[email protected]
[email protected]
[email protected]
etc...

How can I do this in bulk?

2 Answers 2

6

Finally stumbled on the delpop command and cPanel's command-line interface.

So, assuming:

  1. You have SSH access to your account
  2. Your host has installed cPanel in the usual way

Then you can delete a single email account with this command, using an SSH client like PuTTY:

/usr/local/cpanel/cpanel-email delpop account_003 0 mydomain.com



To delete many accounts, all on domain mydomain.com, do this:

  1. Create a text file, delemails.txt, with each account name on its own line:

    account_003
    account_004
    account_012
    account_027
    etc...
    
  2. FTP that file onto your server into a convenient location.

  3. SSH onto your server and cd to the location where you placed delemails.txt

  4. Run this command from the SSH shell:

    for i in `cat delemails.txt`; do /usr/local/cpanel/cpanel-email delpop "$i" 0 mydomain.com ; done
    

    It takes a couple of minutes to loop through 197 accounts and you'll see status messages printing for each account.

  5. Done!

2

To improve the answer provided by Brock Adams.

At this time the /usr/local/cpanel/cpanel-email command doesn't work as it should, at least not for me.

So I had to use the UAPI function for this purpose and it works like a charm.

You can check the full documentation from here: https://documentation.cpanel.net/display/DD/UAPI+Functions+-+Email%3A%3Adelete_pop

The final command should be something like:

for i in `cat email-accts.txt`; do /usr/local/cpanel/bin/uapi --user=CPANEL-USER Email delete_pop email="$i" domain=DOMAIN ; done

Hope this helps. :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.