WebFacing™ – cPanel® Email Accounts management & Account backup

外掛說明

🕸️ 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. Update notification recipients. Backup and download your complete cPanel® account.
This plugin requires you are hosted on a cPanel® equipped server.
It uses it’s UAPI through shell access as default, or via HTTP. Using HTTP initially require a temporary access token generated in the cPanel® native interface.

Translation ready. Ready translations are

  • Norwegian (bokmål)

Current features

  • NEW: Shortcode [wf_cpanel_email_webmail] or as [wf_cpanel_email_webmail]My Email[/wf_cpanel_email_webmail] for fronted access users own Webmail
  • NEW: API Tokens Management
  • New: No need to have shell_exec enabled in PHP, see below
  • Backup account to file, and download
  • Restore account backup files by extracting it to a folder Temporary removed
  • 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 a mailbox (empty it)
  • Change storage 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 for distribution
  • 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/change Notification/Contact Email Addresses
  • Check auto detect and actual email routing in a Site Health tab (any email address, as sent from this server)
  • 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 the 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
    • const WF_CPANEL_EMAIL_SITE_DOMAIN_ONLY = true;
    • 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:
    • const WF_CPANEL_EMAIL_SITE_DOMAIN_ONLY = false;
    • 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 );
  • Many optional parametres and API filters for the shortcode output, see includes/ShortCode.php until further tested and documented (coming soon)
  • If the shell_exec function is disabled in your PHP config, add one of these lines to your wp-config.php file, child theme functions.php or other plugin
    • const WF_CPANEL_API_TOKEN = 'paste-your-api-token';
    • define( 'WF_CPANEL_API_TOKEN', 'paste-your-api-token' );
    • See Manage API Tokens in cPanel®
    • Site Health tests and information

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 Mangament
  • Domain level email forwarding

Limitations, security, privacy – be warned

  • Now works without shell access! 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

螢幕擷圖

  • Accounts Overview in admin
  • Add forwarders (aliases), failures or full accounts
  • Email sendt to existing email upon new account creation (optional)
  • Your page button example using shortcode [wf_cpanel_email_webmail] (text and styling friendly, filterable CSS classes)

常見問題集

Does this plugin add database tables, store many options, crons/scheduled tasks, custom post type content or lines to `wp-config.php` or write to any existing file?

No, no, no, no, no. It stores transients, and, in case they are stored in the database, automatically deletes the expired ones from the options table. Account backup files are stored.

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

No. Nope. You may manually enter an API token in wp-config.php in case the shell_exec function is disabled.

Can it be used to serve my users or members on a frontend page?

Yes. Use the shortcode [wf_cpanel_email_webmail]. Many parametres for users, many filters the defaults, for developers.

Does it work with WP Multisite Network?

Yes. Subsite admin access is then limited by default (filterable option). Unreliable site admin user separation may occur.

Does it work without being on cPanel®?

No.

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?

Report bugs or suggest enhancements or new features in the Support tab (forum). Use the Donate button on the right sidebar on this page.

使用者評論

2022 年 11 月 19 日
It is perfect. you can enter your cPanel email with exactly 10 sec, you don't need to enter your username or password. THANKS A LOT
2022 年 10 月 30 日
Long story short this fills a role I have been thinking about for the last 6 months. So far it meets and exceeds my expectations!
2022 年 1 月 20 日
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.
2021 年 8 月 12 日 2 replies
My team added this to our MultiSite, and it's so far working great for our needs.
閱讀全部 5 則使用者評論

參與者及開發者

以下人員參與了開源軟體〈WebFacing™ – cPanel® Email Accounts management & Account backup〉的開發相關工作。

參與者

〈WebFacing™ – cPanel® Email Accounts management & Account backup〉外掛目前已有 1 個本地化語言版本。 感謝全部譯者為這個外掛做出的貢獻。

將〈WebFacing™ – cPanel® Email Accounts management & Account backup〉外掛本地化為台灣繁體中文版

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄

變更記錄

4.6.1

  • Nov 9, 2022
  • Removed file restore from account backup file, since it seems to corrupt files upon restore.

4.6

  • Nov 9, 2022
  • Added file restore from account backup file

4.5

  • Nov 7, 2022
  • Added shortcode for frontend Webmail
  • Fix for admin pages content disappearing in certain situations (incorrect html)
  • Experimental support uapi executable not in path on server, use full path
  • Added storage space test in Site Health Status
  • More descriptive error messages

4.4.18

  • Site Health Info: Do not show auto update on multisite
  • Better detect that uapi shell command returns other than null before using
  • On Multisite, Site Health Info the “Directories and Sizes” panel must have a title

4.4.14

  • Nov 3, 2022
  • Enhancement: Respect WF_CPANEL_EMAIL_SITE_DOMAIN_ONLY in Site Health Info

4.4.13

  • Nov 2, 2022
  • Enhancement: Respect WF_CPANEL_EMAIL_SITE_DOMAIN_ONLY for Backups and Tokens pages
  • Bugfix: Correct color for expired column

4.4.9

  • Enhancement: Formatting of admin footer text
  • Bugfix: Keep active token when renaming
  • Bugfix: Only show constant when exists
  • Bugfix: Use correct santitization for new token name
  • Bugfix: Delete transients on delete token
  • Bugfix: Use correct santitization for tokens

4.4

  • Added: Token Management page and table
  • Add new, delete, rename and activate stored tokens
  • Bugfix: Site Health Info: Email domains not shown

4.3.2

  • Oct 24, 2022
  • Further strengthen security with backups, ensure no indexing of backups folder
  • Backups download file names stripped for obscurity string
  • Set cPanel® language on start
  • Site Health test for two factor cPanel® account login

4.3.1

  • Oct 21, 2022
  • Important security release, fixes:
    • Puts empty index.php to backup destination folder to avoid directory listing on badly configured servers
    • Obfuscates backup file name to increase redundancy

4.3

  • Oct 21, 2022
  • Added storage space item to Dashboard – At a Glance widget
  • Added storage space and account limit to – Site Health Info – Directories and sizes
  • Removed remote test when API token is used

4.2

  • New feature: Site Health tests for contact information email domains and notifiactions configuration
  • More Site Health Info tab information, like maximum number of emails per hour

4.1.5

  • Regression: Better protection against fatal error in case uapi command fails

4.1.2

  • Oct 14, 2022
  • Bugfix: Backup file copied to download dir before finished. Thanks to @archonic08
  • Bugfix: Always fresh files from home dir (not cached).
  • Bugfix: Correct time for backup finished
  • Enhancement: Show processing backups
  • Enhancement: Experimental support for filesystem credentials
  • Bugfix: Allow email local parts to contain dash (“-“). Thanks to @alanb2718

4.1

  • Oct 10, 2022
  • Edit contact/notification email addresses/recipients for cPanel® account
  • Better protection against fatal error in case uapi command fails
  • Cache stats in Site Health Info

4.0

  • Oct 03, 2022
  • New HTTP based API, no need for shell_exec
  • Added cPanel® Account Backup, Create new and List
  • Email notification when finished to user on new account backup creation
  • Account backup files moved to wp-content/cpanel for download and delete
  • Download Backup and Delete Backup as row actions
  • Delete Backups as bulk action
  • wp-config.php support for
    • const WF_CPANEL_API_TOKEN = 'your-apitoken';

3.4

  • 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

3.3

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

3.2

  • Jul 18, 2022
  • Requires PHP 7.4+
  • Tested up to PHP 8.2
  • Bugfix: Fatal error when deleting account, use correct translation function.

3.1

  • 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

3.0

  • 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

2.9

  • 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

2.8

  • 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

2.7

  • 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

2.6

  • 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

2.5

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

2.4

  • 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

2.3

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

2.2

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

2.1

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

2.0

  • Recommending my other plugin ‘WebFacing™ – cPanel® Storage, resource usage and errors’
  • 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

1.9

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

1.8

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

1.7

  • 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

1.6

  • 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

1.5

  • 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

1.4

  • 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

1.3

  • 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

1.2

  • 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)

1.1

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

1.0

  • Initial release, Apr 21, 2021.