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:

account_003@mydomain.com
account_004@mydomain.com
account_012@mydomain.com
account_027@mydomain.com
etc...

How can I do this in bulk?

1 Answer 1

5

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!

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.