Take the 2-minute tour ×
Webmasters Stack Exchange is a question and answer site for pro webmasters. It's 100% free, no registration required.

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?

share|improve this question

1 Answer 1

up vote 3 down vote accepted

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!

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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