WebFacing – Email Accounts in cPanel®


🕸️ By WebFacing. Read, send, show, manage, list, create, add, remove or delete email accounts, old messages, forwarders and autoresponders. One click read, send and manage all your emails without a login step. This plugin requires you are hosting on a cPanel® equipped server. It uses it’s UAPI through shell access in PHP.

See also my companion plugin WebFacing – Disk Usage from cPanel® on Dashboard & in Site Health

Translation ready. Ready translations are

  • Norwegian (bokmål)

Current features

  • Accounts listing per domain managed via cPanel®
  • Completely automated migration to new email server, like setup of new accounts for users, with sending setup instructions, passwords and links to setup guides for most common email clients
  • Add/remove single/multiple Email Accounts
  • List mailboxes with number of messages for each account
  • Remove old messages from mailboxes (older than 52 weeks implied, currently)
  • Shrink mailboxes
  • Change disk quota for for email accounts
  • Add/remove single/multiple Email Forwarders or Blackholes
  • Add/delete/edit email autoresponders (for, subject, body, from, start, stop, interval)
  • Send single cPanel® Email Account Instruction (Client Setup) to specfied address
  • Send multipe cPanel® Email Account Instructions (Client Setups) to yourself
  • Open your cPanel® Webmail app for selected account (single click/tap – no further login needed!)
  • Set/change Email Account passwords
  • Set Default Email Address (catch-all) as forwarder, failure or blackhole
  • View Notification/Contact Email Addresses (no edit yet)
  • Check email routing in a Site Health tab (any email address, as sent from this server)
  • Limited to users with manage_options capability (admins)
  • Access for any user to view and read their own emails, if given the cpanel capability
  • Support for subdomain email addresses when main domain is a subdomain
  • Option to allow other users than those with manage_options capability to manage email adresses, single- or multisite, one of following
    • add_filter( 'wf_cpanel_email_capability', static fn( string $cap ) => $my_cpanel_email_cap );
    • add_filter( 'wf_cpanel_email_capability', static fn( string $cap ) => 'edit_published_pages' );
  • Option to limit email addresses to current site domain, even for single site admins, one of the following
    • define( 'WF_CPANEL_EMAIL_SITE_DOMAIN_ONLY', true );
    • add_filter( 'wf_cpanel_email_site_domain_only', '__return_true' );
    • add_filter( 'wf_cpanel_email_site_domain_only', fn() => true );
  • Multisite Network: Option not to limit email addresses to current subsite domain, for site admins that are not network (super) admins, one of the following
    • define( 'WF_CPANEL_EMAIL_SITE_DOMAIN_ONLY', false );
    • add_filter( 'wf_cpanel_email_site_domain_only', '__return_false' );
    • add_filter( 'wf_cpanel_email_site_domain_only', fn() => false );

Possible future features

  • Scheduled automatic removal of old messages in/from mailboxes
  • Import migration list for create account, send instructions and password to current address
  • Delete selected email messages from mailboxes (by selectd message age etc.)
  • Add/remove email lists (if requested)
  • Suspend/unsuspend incoming/outgoing for email accounts (maybe)
  • Suspend/unsuspend login to email accounts (if requested)
  • Domain level forwarders (unlikely, only if requested)

Limitations, security, privacy – be warned

  • Will not work at all if shell_exec is disabled in php.ini
  • Works only for admins, or other users with a custom cpanel capability and email on site domain (so far)
  • Any admin (if multisite, only network admins), or user with the filtered capability, on a site, can fully access any account on the cPanel® server instance
  • No AYS warnings for delete actions
  • If several sites/admins share the same cPanel® account, without being part of a WP Multisite network, no bulletproof separation, because of the way the cPanel® UAPI CLI works, with or without this plugin

Imagens de tela

  • Accounts Overview in admin
  • Add forwarders (aliases), failures or full accounts
  • Email sendt to existing email upon new account creation (optional)


Does this plugin add database tables, store options, cron/scheduled tasks, custom post type content or lines to wp-config.php?

No, no, no, no, no.

Does it require my login information to cPanel® or store any account passwords?

No. Nope.

Does it work with WP Multisite Network?

Yes. Subsite admin access is then limited by default (filterable option).

Does it work without being on cPanel®?


Can I contribute to this plugin?

Use support tab for feedback, reports and suggestions until further notice, and Github repo creation.

Can I donate to the continued maintenance and further development of this plugin?

Use the Donate button on the right sidebar on this page.


20 de janeiro de 2022
Pleasantly surprised for a change; this plugin was entirely free and does exactly what it claims without issue. Plus, as far as I know, there is no other app like it. I cannot believe this isn't in the top 10 most downloaded plugins. Honestly, this should be a built-in WP feature but seemingly everyone has dropped the ball until now. Thank you for developing and maintaining this! I just donated.
12 de agosto de 2021
My team added this to our MultiSite, and it's so far working great for our needs.
Leia todas as 2 avaliações

Colaboradores e desenvolvedores

“WebFacing – Email Accounts in cPanel®” é um software com código aberto. As seguintes pessoas contribuíram para este plugin.


“WebFacing – Email Accounts in cPanel®” foi traduzido para 1 localização. Agradecemos aos tradutores por suas contribuições.

Traduzir “WebFacing – Email Accounts in cPanel®” para o seu idioma.

Interessado no desenvolvimento?

Navegue pelo código, dê uma olhada no repositório SVN ou assine o registro de desenvolvimento via RSS.

Registro de alterações


  • Toolbar href fix


  • Added check for auto detection of domain email delivery as local or remote in Site Health tab Email Routing, with Fix button
  • Added check for auto detection of all domain email delivery as local or remote in Site Health tab Info
  • Link to Add New Email in toolbar Add new
  • Text changes on New Email page


  • Text updates


  • Sep 4, 2022
  • New Site Health tab for cheking email routing from this cPanel® server
  • Email routing shown on Mailboxes page


  • Fix: Type error in debug mode
  • Removed promotion for “WebFacing – Disk, resource usage and errors from cPanel® on your Dashboard & in Site Health” plugin


  • Jul 18, 2022
  • Requires PHP 7.4+
  • Tested up to PHP 8.2


  • Jun 8, 2022
  • Bugfix: Fatal error when deleting account, use correct translation function.


  • May 12, 2022
  • Bugfix: When the capability is filtered, all actions are now allowed, except deleting others accounts
  • New feature: When creating a new account, optionally send instructions and password with setup guide links
  • Site Health Status: Test for recommended plugin
  • Site Health Status: Test for MX pointer
  • Site Health Info: Show an extra constant and cPanel® Email info (main domain, MX-pointer)
  • Safer with PHP strict_types
  • Last release running on PHP version 7.3, plugin version 3.2 will require PHP version 7.4
  • Please upgrade your PHP to at least version 7.4 to continue receiveing further fixes and updates


  • Apr 2, 2022
  • Enhancements: Default address now has Delete and Edit row actions in Accounts Table
  • Enhancement: New UI layout and textual responder name with suggested options for Autoresponder in Add New Account form
  • Coding Standards and refactoring


  • Mar 28, 2022
  • Fix: No prompt for change quota or password. Props @manuelseffe
  • No expiration of the transients transient to avoid delays after creating account


  • Mar 22, 2022
  • Fixed fatal error using $this in non-object context, when accessed by multisite subsite admins


  • Mar 14, 2022
  • Fixed fatal error in case PECL intl function idn_to_utf8 is not available


  • Mar 08, 2022
  • New feature: Send account setup instructions to any email address, your own just as the default
  • Fix: Better handling (no action) when setting email account qouta or password javascript prompt is cancelled
  • Enhancement: Plugin promotion at bottom of Dashboard widget can now be dismissed or removed


  • Send account setup instructions to any email address, your own as default
  • Fix: Better handling (no action) when setting email account qouta or password javascript prompt is cancelled


  • Fix undefined variable
  • Fixed fatal error on multisite


  • Added config option/filter to limit email domains to current site domain, for single site admins (thanks to @manuelseffe for suggesting and testing)
  • Added config option/filter not to limit email domains to current subsite domain, for site admins in network
  • Coding standard fixes


  • WP 5.9 tested
  • Fixed: Webmail button not always working
  • Fixed: Bulk actions not always working
  • Better translation of bulk action results
  • Internal: Namespace changes


  • Fixed fatal error on New Email screen
  • Code cleanup
  • Translations simplifiaction
  • Shorter transient (cache) times, better invalidation


  • Security release: On multisite, check that the submitted email domain is legal when creating new email addresses/forwarders
  • Tighter multisite filtering of domains and email accounts
  • Removed email address select step (dropdown) on Mailboxes page when there is only one email account available


  • Multisite support: Limit email domains to current host for all users except superadmins


  • Make sure no errors from gethostbyaddr() when no “SERVER_ADDR” (cron, CLI)


  • Support for email addresses on (all) subdomains of main account is a subdomain


  • Recommending my other plugin ‘WebFacing – Disk Usage from cPanel® on Dashboard & in Site Health’ in Dashboard – At a glance widget
  • Translate email types
  • Bugfix: IDN display for Postboxes page
  • Translate postbox names
  • Row action: Show mailboxes
  • Row action: Delete messages
  • Contact email editing (not working)
  • Remove redundant email column for mailboxes table
  • Minor text changes


  • Show mailboxes for all accounts
  • Remove old messages per mailbox


  • Add action to change email disk quota
  • Add action to edit a current autoresponder


  • Bugfix: Correctly account for timezone when adding new autoresponders start/end times
  • Limit from email for new autoresponders (select)
  • New Autoresponder start/end input as date and time separated (a better user interface)
  • Allow limited access for other users than administrators, given a capability (cpanel) and having a user email under the site domain


  • Correct placeholder for start/stop dates
  • Icon placement fix
  • Add forwarder/default destination email icon
  • Text/translation fix for “From email”
  • Add/delete email autoresponders


  • Revamped Add Email screen with selects for domains
  • Add Blackhole for email fowarding and default adresses
  • Support for International Domain Names (IDN)
  • Disable Webmail button on click and after 10 minutes
  • Added some icons on screens
  • Better cache invalidation
  • Each Webmail button open their links in different tabs


  • Display and add default email destination for each domain
  • Faster, better perfomance, with caching using transients (timeout 10 minutes)
  • Timeout for Webmail buttons, refresh needed (10 minutes)
  • Bug fixes and code cleanup


  • Change password for email accounts
  • View contact/notifcation emails
  • Bugfix: Account passwords work for new accounts
  • Bugfix: Proper label for new account input
  • Bugfix: Removed dupliacte html ids


  • Better cPanel® detection and feature check
  • Remote DNS MX server detection for domains, as these will not receive remote emails
  • Auto login to Webmail for accounts (button)


  • Dashboard – At a Glance: Number of Email accounts
  • More translated strings
  • Filter ´removable_query_args´ only for list table page
  • Text changes and corrections


  • Initial release, Apr 21, 2021.