{"id":139840,"date":"2021-04-21T20:36:04","date_gmt":"2021-04-21T20:36:04","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/webfacing-email-accounts-in-cpanel\/"},"modified":"2025-01-10T22:12:43","modified_gmt":"2025-01-10T22:12:43","slug":"wf-cpanel-email-accounts","status":"publish","type":"plugin","link":"https:\/\/test.wordpress.org\/plugins\/wf-cpanel-email-accounts\/","author":132341,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"5.3.6","stable_tag":"5.3","tested":"6.7.5","requires":"6.5","requires_php":"8.1","requires_plugins":null,"header_name":"WebFacing\u2122 - Email Accounts management for cPanel\u00ae","header_author":"Knut Sparhell","header_description":"\ud83d\udd78\ufe0f By WebFacing. Lets you manage, add, remove email accounts from your cPanel.","assets_banners_color":"","last_updated":"2025-01-10 22:12:43","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/paypal.me\/knutsp","header_plugin_uri":"https:\/\/webfacing.eu\/","header_author_uri":"https:\/\/profiles.wordpress.org\/knutsp\/","rating":5,"author_block_rating":0,"active_installs":200,"downloads":23171,"num_ratings":8,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","faq","changelog"],"tags":{"5.2":{"tag":"5.2","author":"knutsp","date":"2024-05-14 10:00:26"},"5.3":{"tag":"5.3","author":"knutsp","date":"2025-01-10 22:12:43"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":8},"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":2519403,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["5.2","5.3"],"block_files":[],"assets_screenshots":{"screenshot-1-nb.png":{"filename":"screenshot-1-nb.png","revision":2907660,"resolution":"1","location":"assets","locale":"nb"},"screenshot-1.png":{"filename":"screenshot-1.png","revision":2528230,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":2528230,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":2722265,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":2812777,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":2907634,"resolution":"5","location":"assets","locale":""}},"screenshots":{"1":"Accounts Overview in admin","2":"Add forwarders (aliases), failures or full accounts","3":"Email sendt to existing email upon new account creation (optional)","4":"Your page button example using Webmail block or shortcode <code>[wf_cpanel_email_webmail]<\/code> (text and styling friendly, filterable CSS classes)","5":"Batch Entry"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2401,151,10494,267,1932],"plugin_category":[41],"plugin_contributors":[85275,199853],"plugin_business_model":[],"class_list":["post-139840","plugin","type-plugin","status-publish","hentry","plugin_tags-auto-reply","plugin_tags-backup","plugin_tags-cpanel","plugin_tags-email","plugin_tags-membership","plugin_category-communication","plugin_contributors-knutsp","plugin_contributors-proisp","plugin_committers-knutsp","plugin_support_reps-egoist8","plugin_support_reps-knutsp"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/wf-cpanel-email-accounts\/assets\/icon.svg?rev=2519403","icon":"https:\/\/ps.w.org\/wf-cpanel-email-accounts\/assets\/icon.svg?rev=2519403","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wf-cpanel-email-accounts\/assets\/screenshot-1.png?rev=2528230","caption":"Accounts Overview in admin"},{"src":"https:\/\/ps.w.org\/wf-cpanel-email-accounts\/assets\/screenshot-2.png?rev=2528230","caption":"Add forwarders (aliases), failures or full accounts"},{"src":"https:\/\/ps.w.org\/wf-cpanel-email-accounts\/assets\/screenshot-3.png?rev=2722265","caption":"Email sendt to existing email upon new account creation (optional)"},{"src":"https:\/\/ps.w.org\/wf-cpanel-email-accounts\/assets\/screenshot-4.png?rev=2812777","caption":"Your page button example using Webmail block or shortcode <code>[wf_cpanel_email_webmail]<\/code> (text and styling friendly, filterable CSS classes)"},{"src":"https:\/\/ps.w.org\/wf-cpanel-email-accounts\/assets\/screenshot-5.png?rev=2907634","caption":"Batch Entry"}],"raw_content":"<!--section=description-->\n<p>\ud83d\udd78\ufe0f By <a href=\"https:\/\/webfacing.eu\/\">WebFacing\u2122<\/a>. Read, send, show, manage, list, create, add, remove or delete email accounts, old messages, forwarders and autoresponders.\nOne click read, send and manage all your emails without a login step. Update notification recipients. Backup and download your complete cPanel\u00ae account.<\/p>\n\n<p>This plugin requires your site is hosted on a cPanel\u00ae equipped server.<\/p>\n\n<p>It uses it's UAPI through shell access by default, or via HTTP API. Using without <code>shell_exec<\/code> initially requires a temporary access token generated in the cPanel\u00ae native interface.<\/p>\n\n<h3>Translation ready. Ready translations are<\/h3>\n\n<ul>\n<li>Norwegian (bokm\u00e5l)<\/li>\n<\/ul>\n\n<h3>Current features<\/h3>\n\n<ul>\n<li><strong>NEW:<\/strong> Dashboard widget with three live graphic server memory usage and server load gauge charts (can eassily be minimized or hidden via Screen Options or programatically)<\/li>\n<li>WP Block for frontend access user's own Webmail<\/li>\n<li>Bulk entry of forwarders and email accounts (as free trial only, very limited use)<\/li>\n<li>Screen Options to select visible forms on New Email screen, saved for as user option (and per site for Multisite)<\/li>\n<li>Shortcode <code>[wf_cpanel_email_webmail]<\/code> or as <code>[wf_cpanel_email_webmail]<\/code>My Email<code>[\/wf_cpanel_email_webmail]<\/code> for frontend access user's own Webmail<\/li>\n<li>cPanel\u00ae API Tokens Management - needed in case <code>shell_exec<\/code> is not available or when accessing a remote server<\/li>\n<li>Backup complete cPanel\u00ae hosting account to file, and download it<\/li>\n<li>Restore account backup files by extracting it to a folder (experimental)<\/li>\n<li>Semi automated migration to new email server, including setup of new accounts for users, with sending setup instructions, passwords and links to setup guides for most common email clients<\/li>\n<li>Add 10 single Email Accounts per week (without Pro nag) -- actually unlimited<\/li>\n<li>Remove single\/multiple Email Accounts<\/li>\n<li>List mailboxes with number of messages for each box<\/li>\n<li>Remove old messages from mailboxes (older than 52 weeks as default)<\/li>\n<li>Shrink a mailbox (empty it)<\/li>\n<li>Change storage quota for for email accounts<\/li>\n<li>Add 20 forwarders per week (without Pro nag) -- actually unlimited<\/li>\n<li>Add\/remove single\/multiple Email Failure addresses or Blackhole addresses<\/li>\n<li>Add\/delete\/edit email autoresponders (for, subject, body, from, start, stop, interval)<\/li>\n<li>Send single cPanel\u00ae Email Account Instruction (Client Setup) to specfied address<\/li>\n<li>Send multipe cPanel\u00ae Email Account Instructions (Client Setups) to yourself for distribution<\/li>\n<li>Open your cPanel\u00ae Webmail app for selected account (single click\/tap - no further login needed!)<\/li>\n<li>Set\/change Email Account passwords<\/li>\n<li>Set Default Email Address (catch-all) as forwarder, failure or blackhole<\/li>\n<li>View\/change Notification\/Contact Email Addresses<\/li>\n<li>Access for any user to view and read their <em>own<\/em> emails, if given the <code>cpanel<\/code> capability (Use custom code or a Roles\/Capabilities Manager plugin)<\/li>\n<li><p>Support for subdomain email addresses when the main domain is a subdomain (only)<\/p><\/li>\n<li><p>In case the <code>shell_exec<\/code> function is disabled in your server PHP configuration, create a token in native cPanel\u00ae interface and add <em>one<\/em> of these lines to your <code>wp-config.php<\/code> file, <code>functions.php<\/code> in your child theme, in Must-use plugin or a custom regular plugin<\/p>\n\n<ul>\n<li><code>const WF_CPANEL_API_TOKEN = 'my-temp-api-token';<\/code><\/li>\n<li><code>define( 'WF_CPANEL_API_TOKEN', 'my-temp-api-token' );<\/code><\/li>\n<li>See <a href=\"https:\/\/docs.cpanel.net\/cpanel\/security\/manage-api-tokens-in-cpanel\/\">Manage API Tokens in cPanel\u00ae<\/a><\/li>\n<li>The <code>WF_CPANEL_API_TOKEN<\/code> constant may be removed when a new token is created and activated from the plugin admin page<\/li>\n<\/ul><\/li>\n<li><p>Option to set the default visibility for users on New Email screen (users may still set their own preferences):<\/p>\n\n<ul>\n<li><code>add_filter( 'wf-cpanel-email-new-email_user-option', static function( bool $default, string $option, int $user_id ) {\nif ( $option === 'wc-show-new-blackhole' \/*or by $user_id*\/ ) {\n$default = true\/*false*\/;\n}\nreturn $default;\n}, 10, 3 );<\/code><\/li>\n<\/ul><\/li>\n<li><p>Option to allow other users than those with <code>manage_options<\/code> capability to manage email adresses, single- or multisite, <em>one<\/em> of the following:<\/p>\n\n<ul>\n<li><code>add_filter( 'wf_cpanel_email_capability', static fn( string $cap ): string =&gt; $my_cpanel_email_cap );<\/code><\/li>\n<li><code>add_filter( 'wf_cpanel_email_capability', static fn( string $cap ) =&gt; 'edit_published_pages' );<\/code><\/li>\n<\/ul><\/li>\n<li><p>Option to allow other users than those with <code>manage_options<\/code> capability to see the dashboard widget, or remove it, <em>one<\/em> of the following:<\/p>\n\n<ul>\n<li><code>add_filter( 'wf_cpanel_email_widget_capability', static fn( string $cap ): string =&gt; $my_cpanel_widget_cap );<\/code><\/li>\n<li><code>add_filter( 'wf_cpanel_email_widget_capability', static fn( string $cap ) =&gt; 'edit_published_pages' );<\/code><\/li>\n<li><code>add_filter( 'wf_cpanel_email_widget_capability', static fn( string $cap ) =&gt; 'do_not_allow' );<\/code><\/li>\n<\/ul><\/li>\n<li><p>Option to alter the refresh interval in seconds for the dashboard widget, <em>one<\/em> of the following:<\/p>\n\n<ul>\n<li><code>add_filter( 'wf_cpanel_email_widget_interval', static fn( int $interval ): int =&gt; $my_cpanel_widget_interval );<\/code><\/li>\n<li><code>add_filter( 'wf_cpanel_email_widget_interval', static fn( int $interval ) =&gt; 45 );<\/code><\/li>\n<\/ul><\/li>\n<li><p>Option to limit email addresses to current site domain, even for single site admins, <em>one<\/em> of the following<\/p>\n\n<ul>\n<li><code>const WF_CPANEL_EMAIL_SITE_DOMAIN_ONLY = true;<\/code><\/li>\n<li><code>define( 'WF_CPANEL_EMAIL_SITE_DOMAIN_ONLY', true );<\/code><\/li>\n<li><code>add_filter( 'wf_cpanel_email_site_domain_only', '__return_true' );<\/code><\/li>\n<li><code>add_filter( 'wf_cpanel_email_site_domain_only', fn() =&gt; true );<\/code><\/li>\n<\/ul><\/li>\n<li><p>Multisite Network: Option not to limit email addresses to current subsite domain, for site admins that are not network (super) admins, <em>one<\/em> of the following:<\/p>\n\n<ul>\n<li><code>const WF_CPANEL_EMAIL_SITE_DOMAIN_ONLY = false;<\/code><\/li>\n<li><code>define( 'WF_CPANEL_EMAIL_SITE_DOMAIN_ONLY', false );<\/code><\/li>\n<li><code>add_filter( 'wf_cpanel_email_site_domain_only', '__return_false' );<\/code><\/li>\n<li><code>add_filter( 'wf_cpanel_email_site_domain_only', fn() =&gt; false );<\/code><\/li>\n<\/ul><\/li>\n<li><p>Many optional parameters and API filters for the shortcode output, see <code>includes\/ShortCode.php<\/code> until further tested and documented<\/p><\/li>\n<li><p>If you want to access another user on the server, use <em>one<\/em> of the following<\/p>\n\n<ul>\n<li><code>const WF_CPANEL_USER = 'my-username';<\/code><\/li>\n<li><code>define( 'WF_CPANEL_USER', 'my-username' );<\/code><\/li>\n<\/ul><\/li>\n<li><p>If you want to access a remote server, use <em>one<\/em> of the following<\/p>\n\n<ul>\n<li><code>const WF_CPANEL_HOST = 'my-host';<\/code><\/li>\n<li><code>define( 'WF_CPANEL_HOST', 'my-host' );<\/code><\/li>\n<li>using <code>WF_CPANEL_HOST<\/code>requires <code>WF_CPANEL_USER<\/code> to also be defined<\/li>\n<\/ul><\/li>\n<li><p>Automaticallly create new accounts when a new user is registered?\n    add_action( 'user_register', static function( int $user_id, array $userdata ): void {\n            \/\/ What to do just after the registraton here, like this (adds an email address that forwards to all users, a mailing list):\n            if ( method_exists( 'WebFacing\\cPanel\\UAPI', 'add_forwarder' ) ) {\n                \\WebFacing\\cPanel\\UAPI::add_forwarder( 'all-users@yoursite.tld, '$userdata['user_email'] );\n            }\n        }, 2 );<\/p><\/li>\n<li><p>Site Health<\/p>\n\n<ul>\n<li>Tests and information<\/li>\n<li>Check auto detecting and current email routing in an extra Site Health tab (to any email address sent from your server)<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h3>Possible future features<\/h3>\n\n<ul>\n<li>Scheduled automatic removal of old messages in\/from mailboxes<\/li>\n<li>Import migration list for create account, send instructions and password to current address<\/li>\n<li>Delete <em>selected<\/em> email messages from mailboxes (by selectd message age etc.)<\/li>\n<li>Suspend\/unsuspend incoming\/outgoing for email accounts (if requested)<\/li>\n<li>Suspend\/unsuspend <em>login<\/em> to email accounts (if requested)<\/li>\n<li>Domain level email forwarding<\/li>\n<li>Domain Managament<\/li>\n<li>DNS Zone editing<\/li>\n<\/ul>\n\n<h3>Limitations, security, privacy - be warned<\/h3>\n\n<ul>\n<li>Maximum New Forwarders = 20, Maximum New Accounts = 5, weekly reset<\/li>\n<li>Trial: Maximum New Forwarders as <strong>bulk entry<\/strong> = 4, Maximum New Accounts as <strong>bulk entry<\/strong> = 2<\/li>\n<li>Now works without shell access! Will not work at all if <code>shell_exec<\/code> is disabled in <code>php.ini<\/code><\/li>\n<li>Works only for admins, or other users with a custom <code>cpanel<\/code> capability and email on site domain (so far)<\/li>\n<li>Any admin (if multisite, only network admins), or user with the filtered capability, on a site, can fully access <em>any<\/em> account on the cPanel\u00ae server instance<\/li>\n<li>No AYS warnings for delete actions<\/li>\n<li>If several sites\/admins share the same cPanel\u00ae account, without being part of a WP Multisite network, no bulletproof separation, because of the way the cPanel\u00ae UAPI CLI works, with or without this plugin<\/li>\n<\/ul>\n\n<h3>Pro Addon<\/h3>\n\n<ul>\n<li>Pro Addon plugin was released May 1, 2023 at https:\/\/webfacing.eu\/plugin\/wf-cpanel-email-accounts-pro\/ and will unlock <strong>in bulk entry<\/strong> new forwarders and new accounts to the numbers in the purchesed license<\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id='does%20this%20%28free%29%20plugin%20limit%20the%20it%27s%20use%20in%20any%20way%3F'><h3>Does this (free) plugin limit the it's use in any way?<\/h3><\/dt>\n<dd><ul>\n<li><p>Yes, <strong>in bulk entry<\/strong> of new forwaders and new accounts is considered a just trial for the Pro Edition, not included or supported in free plugin after being used once<\/p><\/li>\n<li><p>No, in spite the that it will ask you, in a standard, dismissable admin notice, to consider the Pro addon after 20 new forwarders, or 10 new accounts, per week, it doesn't stop you from continuing to add more<\/p><\/li>\n<\/ul><\/dd>\n<dt id='the%20latest%20version%20has%20a%20regression%20and%20don%27t%20work%20as%20well%20as%20it%20did%20in%20previous%20version%2C%20but%20other%20things%20are%20fixed%20and%20i%20like%20the%20new%20features%2C%20what%20can%20i%20do%3F'><h3>The latest version has a regression and don't work as well as it did in previous version, but other things are fixed and I like the new features, what can I do?<\/h3><\/dt>\n<dd><p>Please, immediately download and reinstall the <strong>previous version<\/strong> from the Advanced tab here, observe that the new issues are no longer present, then post in the support forum here.<\/p><\/dd>\n<dt id='does%20this%20plugin%20add%20database%20tables%2C%20store%20many%20options%2C%20crons%2Fscheduled%20tasks%2C%20custom%20post%20type%20content%20or%20lines%20to%20%60wp-config.php%60%20or%20write%20to%20any%20existing%20file%3F'><h3>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?<\/h3><\/dt>\n<dd><p>No, no, no, no, and no. It stores transients, and, in case they are stored in the database (no persistent object cache), automatically deletes the expired ones from the <code>options<\/code> table. Account backup files are stored. If access tokens are created, then their names, corresponding host name, and which one is active, are stored as an option.<\/p><\/dd>\n<dt id='does%20it%20require%20my%20login%20information%20to%20cpanel%C2%AE%20or%20store%20any%20account%20passwords%3F'><h3>Does it require my login information to cPanel\u00ae or store any account passwords?<\/h3><\/dt>\n<dd><p>No. Nope. You may manually enter an API token in <code>wp-config.php<\/code> in case the <code>shell_exec<\/code> function is disabled.<\/p><\/dd>\n<dt id='can%20it%20be%20used%20to%20serve%20my%20users%20or%20members%20on%20a%20frontend%20page%3F'><h3>Can it be used to serve my users or members on a frontend page?<\/h3><\/dt>\n<dd><p>Yes. Use the shortcode [wf_cpanel_email_webmail]. Many parametres for users, many filters the defaults, for developers.\nSee `includes\/ShortCode.php\u00b4 for details.<\/p><\/dd>\n<dt id='does%20it%20work%20with%20wp%20multisite%20network%3F'><h3>Does it work with WP Multisite Network?<\/h3><\/dt>\n<dd><p>Yes. Subsite admin access is then limited by default (filterable option). <em>Unreliable site admin user separation may occur.<\/em><\/p><\/dd>\n<dt id='can%20it%20manage%20other%20cpanel%C2%AE%20instances%20than%20the%20one%20my%20site%20is%20on%3F'><h3>Can it manage other cPanel\u00ae instances than the one my site is on?<\/h3><\/dt>\n<dd><p>Yes. You need three constants (you must declare or define them in \u00b4wp-config.php\u00b4 or in another plugin) <code>WF_CPANEL_HOST<\/code>,\n    WF_CPANEL_USER and (temporarily) <code>WF_CPANEL_API_TOKEN<\/code><\/p><\/dd>\n<dt id='does%20it%20work%20without%20being%20on%20cpanel%C2%AE%3F'><h3>Does it work without being on cPanel\u00ae?<\/h3><\/dt>\n<dd><p>No.<\/p><\/dd>\n<dt id='can%20i%20contribute%20to%20this%20plugin%3F'><h3>Can I contribute to this plugin?<\/h3><\/dt>\n<dd><p>Yes, please. Use the support forum for feedback, reports and suggestions.<\/p><\/dd>\n<dt id='can%20i%20contact%20you%20by%20email%20for%20support%2C%20maybe%20with%20screen%20shots%2C%20or%20ask%20for%20new%20features%20that%20i%20need%3F'><h3>Can I contact you by email for support, maybe with screen shots, or ask for new features that I need?<\/h3><\/dt>\n<dd><p>No, please use the support forum here if not using the Pro Addon.<\/p><\/dd>\n<dt id='can%20i%20contact%20you%20by%20email%20to%20suggest%20a%20new%20feature%20that%20i%20believe%20to%20be%20useful%20for%20many%20and%20i%20can%20describe%20a%20use%20case%20for%3F'><h3>Can I contact you by email to suggest a new feature that I believe to be useful for many and I can describe a use case for?<\/h3><\/dt>\n<dd><p>Yes, use support@webfacing.eu<\/p><\/dd>\n<dt id='can%20i%20donate%20to%20the%20continued%20maintenance%20and%20further%20development%20of%20this%20plugin%3F'><h3>Can I donate to the continued maintenance and further development of this plugin?<\/h3><\/dt>\n<dd><ul>\n<li>Report bugs or suggest enhancements or new features in the Support forum.\n\n<ul>\n<li><strong>Use the Donate button on the right sidebar on this page.<\/strong><\/li>\n<\/ul><\/li>\n<\/ul><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>5.3.6<\/h4>\n\n<ul>\n<li>Jan 10, 2025<\/li>\n<li>Bump tested up to PHP<\/li>\n<\/ul>\n\n<h4>5.3.5<\/h4>\n\n<ul>\n<li>Nov 14, 2024<\/li>\n<li>Bump tested up to<\/li>\n<\/ul>\n\n<h4>5.3.4<\/h4>\n\n<ul>\n<li>Jun 2, 2024<\/li>\n<li>Add an explanation to why the gauges are missing in the dashboard widget when the cPanel\u00ae feature <code>serverstatus<\/code> is unavaliable. This probably because of an outdated cPanel\u00ae version. The widget can, as always, be hidden, at least until your cPanel\u00ae is updated.<\/li>\n<\/ul>\n\n<h4>5.3.3<\/h4>\n\n<ul>\n<li>Jun 1, 2024<\/li>\n<li>Remove debug and console logging<\/li>\n<li>Minor wording fixes<\/li>\n<\/ul>\n\n<h4>5.3.2<\/h4>\n\n<ul>\n<li>May 31, 2024<\/li>\n<li>Replaced very static 'Virtual' dashboard widget gauge with 'Database' (DB Threads_connected) with a logaritmic scale 1% to 100% relative to <code>max_connections<\/code> variable<\/li>\n<li>Add title attributes (tooltips) to resource usage widget gauges with the actually retrieved values<\/li>\n<li>Add Name Servers to Site Health Info<\/li>\n<li>Add SPF record validation to Site Health Info<\/li>\n<li>Add PTR record validation to Site Health Info<\/li>\n<\/ul>\n\n<h4>5.3<\/h4>\n\n<ul>\n<li>May 14, 2024<\/li>\n<li>Add resource usage dashboard widget with 3 grapical gauge charts<\/li>\n<\/ul>\n\n<h4>5.2.9<\/h4>\n\n<ul>\n<li>May 12, 2024<\/li>\n<li>Fix fatal error: Uncaught TypeError in UAPI-php.<\/li>\n<\/ul>\n\n<h4>5.2.7<\/h4>\n\n<ul>\n<li>Apr 10, 2024<\/li>\n<\/ul>\n\n<h4>5.2.6<\/h4>\n\n<ul>\n<li>Nov 14, 2023<\/li>\n<li>Fix fatal error: Uncaught TypeError in UAPI-php.<\/li>\n<li>Fix warning: Attempt to read property \"type\" on null in UAPI.php.<\/li>\n<\/ul>\n\n<h4>5.2.5<\/h4>\n\n<ul>\n<li>Aug 12, 2023<\/li>\n<li>Fix fatal error: DivisionByZeroError in Site Health Status Disk Space test. Thanks @cbonallo for reporting.<\/li>\n<\/ul>\n\n<h4>5.2.4<\/h4>\n\n<ul>\n<li>Jul 27, 2023<\/li>\n<li>Fix: Handle warning when <code>shell_exec<\/code> against uapi fails<\/li>\n<li>Better handling of missing expected properties in returned objects from uapi<\/li>\n<\/ul>\n\n<h4>5.2.3<\/h4>\n\n<ul>\n<li>Jul 21, 2023<\/li>\n<li>Fewer calls to cPanel when in ajax or in cron<\/li>\n<\/ul>\n\n<h4>5.2.2<\/h4>\n\n<ul>\n<li>Jul 10, 2023<\/li>\n<li>Show Webmail block as button in editor<\/li>\n<li>Translations for Webmail block<\/li>\n<\/ul>\n\n<h4>5.2.1<\/h4>\n\n<ul>\n<li>Jul 9, 2023<\/li>\n<li>Added Gutenberg block for frontend access to the user's own Webmail account<\/li>\n<\/ul>\n\n<h4>5.2<\/h4>\n\n<ul>\n<li>Jul 9, 2023<\/li>\n<li>Added Gutenberg block for frontend access to the user's own Webmail account<\/li>\n<\/ul>\n\n<h4>5.1.1<\/h4>\n\n<ul>\n<li>Allow \".\" (dot) in email local<\/li>\n<\/ul>\n\n<h4>5.1<\/h4>\n\n<ul>\n<li>Usage registration redesign<\/li>\n<li>Ready for Pro Addon<\/li>\n<\/ul>\n\n<h4>5.0.3<\/h4>\n\n<ul>\n<li>Fix: Namespace the global 'PLUGIN_BASENAME'<\/li>\n<li>More guides for email setup change (Norwegian only)<\/li>\n<\/ul>\n\n<h4>5.0.2<\/h4>\n\n<ul>\n<li>Fix: Fatal error on New Email for new users<\/li>\n<\/ul>\n\n<h4>5.0<\/h4>\n\n<ul>\n<li>Apr 26, 2023<\/li>\n<li>Prepared for upcoming Pro Addon with embedded license<\/li>\n<li>Usage registering, Free\/Pro separate<\/li>\n<li>License handling, Free\/Pro separate<\/li>\n<li>REST API lookup for license validation (Pro only)<\/li>\n<li>License exceedd handling and nag<\/li>\n<li>Site Health Info tab with usage and license<\/li>\n<li>More Site Health Info about cPanel\u00ae Email server, storage and available Webmail apps<\/li>\n<li>Single entry of new forwarders or accounts limited to 20 forwarders and 10 accounts, but usage count will be reset after about one week.<\/li>\n<li>The new bulk entry trial feature for new forwarders and accounts, limited to 4 forwarders and 2 accounts.<\/li>\n<li>Prepared for upcoming Pro addon<\/li>\n<li>New feature: Bulk entry of new forwarders and accounts, limited to 4 forwarders or 2 accounts<\/li>\n<\/ul>\n\n<h4>4.9.6<\/h4>\n\n<ul>\n<li>Apr 12, 2023<\/li>\n<li>Fix a stubborn transient deletion bug causing delay in listing new email accounts\/addresses<\/li>\n<li>Display error messages from UAPI on delete<\/li>\n<li>Some help text pointing to Screen Options on New Email screen<\/li>\n<li>Fix: PHP <code>Undfined array key<\/code><\/li>\n<\/ul>\n\n<h4>4.9<\/h4>\n\n<ul>\n<li>Email Addresses Table: Added Search box<\/li>\n<li>New Email Screen: Added Screen Options to reduce the number of forms shown by default<\/li>\n<li>New Email Account Form: Warning if duplicate (already exists)<\/li>\n<\/ul>\n\n<h4>4.8.6<\/h4>\n\n<ul>\n<li>Bugfix: Set <code>$response_message<\/code> property in all cases<\/li>\n<\/ul>\n\n<h4>4.8.5<\/h4>\n\n<ul>\n<li>Bugfix: Set <code>$cpanel_user<\/code> property earlier<\/li>\n<\/ul>\n\n<h4>4.8.4<\/h4>\n\n<ul>\n<li>Mar 21, 2023<\/li>\n<li>Privacy: Do dot show Webmail to administrators in case email is held by a user<\/li>\n<li>Performance: Save token validation in transient for 1 minute<\/li>\n<li>Proisp: Webmail goes directly to Webmail server<\/li>\n<\/ul>\n\n<h4>4.8.3<\/h4>\n\n<ul>\n<li>Bugfix saving new token as known<\/li>\n<li>Better transient names to cope with different cPanel\u00ae users and hosts<\/li>\n<\/ul>\n\n<h4>4.8<\/h4>\n\n<ul>\n<li>Mar 20, 2023<\/li>\n<li>Fixed: Bulk sending of email client setup instructions, nonce error<\/li>\n<li>Added support for <code>WF_CPANEL_HOST<\/code> and <code>WF_CPANEL_USER<\/code> constants in <code>wp-config.php<\/code><\/li>\n<li>Special for Proisp, special (Norwegian) instructions are sent for email client setup<\/li>\n<\/ul>\n\n<h4>4.7.5<\/h4>\n\n<ul>\n<li>Mar 18, 2023<\/li>\n<li>Adjustment: Let Site Health test failure for missing cPanel\u00ae Contact Info be recommended, not critical<\/li>\n<\/ul>\n\n<h4>4.7.4<\/h4>\n\n<ul>\n<li>Feb 9, 2023<\/li>\n<li>Bug: Use correct method <code>get_attributes<\/code> on <code>Locale<\/code> module<\/li>\n<li>Bug: Division by zero in Site Health Info tab, Cache %<\/li>\n<\/ul>\n\n<h4>4.7<\/h4>\n\n<ul>\n<li>Feb 1, 2023<\/li>\n<li>Do not set language on ajax requests, avoid updating cPanel\u00ae account<\/li>\n<li>Fixed: Tracing fatal error<\/li>\n<li>A few more Site Health Info items, ported from my other plugin (retrired)<\/li>\n<\/ul>\n\n<h4>4.5<\/h4>\n\n<ul>\n<li>Nov 7, 2022<\/li>\n<li>Added shortcode for frontend Webmail<\/li>\n<li>Fix for admin pages content disappearing in certain situations (incorrect html)<\/li>\n<li>Added storage space test in Site Health Status<\/li>\n<li>More descriptive error messages<\/li>\n<\/ul>\n\n<h4>4.4.18<\/h4>\n\n<ul>\n<li>Nov 3, 2022<\/li>\n<li>Site Health Info: Do not show auto update on multisite<\/li>\n<li>Better detect that <code>uapi<\/code> shell command returns other than null before using<\/li>\n<li>On Multisite, Site Health Info the \"Directories and Sizes\" panel must have a title<\/li>\n<li>Enhancement: Respect <code>WF_CPANEL_EMAIL_SITE_DOMAIN_ONLY<\/code> in Site Health Info<\/li>\n<li>Enhancement: Respect <code>WF_CPANEL_EMAIL_SITE_DOMAIN_ONLY<\/code> for Backups and Tokens pages<\/li>\n<li>Bugfix: Correct color for expired column<\/li>\n<li>Enhancement: Formatting of admin footer text<\/li>\n<li>Bugfix: Keep active token when renaming<\/li>\n<li>Bugfix: Only show constant when exists<\/li>\n<li>Bugfix: Use correct santitization for new token name<\/li>\n<li>Bugfix: Delete transients on delete token<\/li>\n<li>Bugfix: Use correct santitization for tokens<\/li>\n<\/ul>\n\n<h4>4.4<\/h4>\n\n<ul>\n<li>Added: Token Management page and table<\/li>\n<li>Add new, delete, rename and activate stored tokens<\/li>\n<li>Bugfix: Site Health Info: Email domains not shown<\/li>\n<\/ul>\n\n<h4>4.3.2<\/h4>\n\n<ul>\n<li>Oct 24, 2022<\/li>\n<li>Further strengthen security with backups, ensure no indexing of backups folder<\/li>\n<li>Backups download file names stripped for obscurity string<\/li>\n<li>Set cPanel\u00ae language on start<\/li>\n<li>Site Health test for two factor cPanel\u00ae account login<\/li>\n<\/ul>\n\n<h4>4.3.1<\/h4>\n\n<ul>\n<li>Oct 21, 2022<\/li>\n<li>Important security release, fixes:\n\n<ul>\n<li>Puts empty <code>index.php<\/code> to backup destination folder to avoid directory listing on badly configured servers<\/li>\n<\/ul><\/li>\n<li>Added storage space item to Dashboard - At a Glance widget<\/li>\n<li>Added storage space and account limit to - Site Health Info - Directories and sizes<\/li>\n<li>Removed remote test when API token is used<\/li>\n<\/ul>\n\n<h4>4.2<\/h4>\n\n<ul>\n<li>New feature: Site Health tests for contact information email domains and notifiactions configuration<\/li>\n<li>More Site Health Info tab information, like maximum number of emails per hour<\/li>\n<\/ul>\n\n<h4>4.1.5<\/h4>\n\n<ul>\n<li>Oct 14, 2022<\/li>\n<li>Regression: Better protection against fatal error in case <code>uapi<\/code> command fails<\/li>\n<li>Bugfix: Backup file copied to download dir before finished. Thanks to @archonic08<\/li>\n<li>Bugfix: Always fresh files from home dir (not cached).<\/li>\n<li>Bugfix: Correct time for backup finished<\/li>\n<li>Enhancement: Show processing backups<\/li>\n<li>Enhancement: Experimental support for filesystem credentials<\/li>\n<li>Bugfix: Allow email local parts to contain dash (\"-\"). Thanks to @alanb2718<\/li>\n<\/ul>\n\n<h4>4.1<\/h4>\n\n<ul>\n<li>Oct 10, 2022<\/li>\n<li>Edit contact\/notification email addresses\/recipients for cPanel\u00ae account<\/li>\n<li>Better protection against fatal error in case <code>uapi<\/code> command fails<\/li>\n<li>Cache stats in Site Health Info<\/li>\n<\/ul>\n\n<h4>4.0<\/h4>\n\n<ul>\n<li>Oct 03, 2022<\/li>\n<li>New HTTP based API, no need for <code>shell_exec<\/code><\/li>\n<li>Added cPanel\u00ae Account Backup, Create new and List<\/li>\n<li>Email notification when finished to user on new account backup creation<\/li>\n<li>Account backup files moved to <code>wp-content\/cpanel<\/code> for download and delete<\/li>\n<li>Download Backup and Delete Backup as row actions<\/li>\n<li>Delete Backups as bulk action<\/li>\n<li><code>wp-config.php<\/code> support for\n\n<ul>\n<li><code>const WF_CPANEL_API_TOKEN = 'your-apitoken';<\/code><\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>3.4<\/h4>\n\n<ul>\n<li>Added check for auto detection of domain email delivery as local or remote in Site Health tab Email Routing, with Fix button<\/li>\n<li>Added check for auto detection of all domain email delivery as local or remote in Site Health tab Info<\/li>\n<li>Link to Add New Email in toolbar Add new<\/li>\n<li>Text changes on New Email page<\/li>\n<\/ul>\n\n<h4>3.3<\/h4>\n\n<ul>\n<li>Sep 4, 2022<\/li>\n<li>New Site Health tab for cheking email routing from this cPanel\u00ae server<\/li>\n<li>Email routing shown on Mailboxes page<\/li>\n<\/ul>\n\n<h4>3.2<\/h4>\n\n<ul>\n<li>Jul 18, 2022<\/li>\n<li>Requires PHP 7.4+<\/li>\n<li>Tested up to PHP 8.2<\/li>\n<li>Bugfix: Fatal error when deleting account, use correct translation function.<\/li>\n<\/ul>\n\n<h4>3.1<\/h4>\n\n<ul>\n<li>May 12, 2022<\/li>\n<li>Bugfix: When the capability is filtered, all actions are now allowed, except deleting others accounts<\/li>\n<li>New feature: When creating a new account, optionally send instructions and password with setup guide links<\/li>\n<li>Site Health Status: Test for recommended plugin<\/li>\n<li>Site Health Status: Test for MX pointer<\/li>\n<li>Site Health Info: Show an extra constant and cPanel\u00ae Email info (main domain, MX-pointer)<\/li>\n<li>Safer with PHP <code>strict_types<\/code><\/li>\n<li>Last release running on PHP version 7.3, plugin version 3.2 will require PHP version 7.4<\/li>\n<li>Please upgrade your PHP to at least version 7.4 to continue receiveing further fixes and updates<\/li>\n<\/ul>\n\n<h4>3.0<\/h4>\n\n<ul>\n<li>Apr 2, 2022<\/li>\n<li>Enhancements: Default address now has Delete and Edit row actions in Accounts Table<\/li>\n<li>Enhancement: New UI layout and textual responder name with suggested options for Autoresponder in Add New Account form<\/li>\n<li>Coding Standards and refactoring<\/li>\n<\/ul>\n\n<h4>2.9<\/h4>\n\n<ul>\n<li>Mar 08, 2022<\/li>\n<li>New feature: Send account setup instructions to any email address, your own just as the default<\/li>\n<li>Fix: Better handling (no action) when setting email account qouta or password javascript prompt is cancelled<\/li>\n<li>Enhancement: Plugin promotion at bottom of Dashboard widget can now be dismissed or removed<\/li>\n<\/ul>\n\n<h4>2.8<\/h4>\n\n<ul>\n<li>Send account setup instructions to any email address, your own as default<\/li>\n<li>Fix: Better handling (no action) when setting email account qouta or password javascript prompt is cancelled<\/li>\n<\/ul>\n\n<h4>2.7<\/h4>\n\n<ul>\n<li>Added config option\/filter to limit email domains to current site domain, for single site admins (thanks to @manuelseffe for suggesting and testing)<\/li>\n<li>Added config option\/filter not to limit email domains to current subsite domain, for site admins in network<\/li>\n<li>Coding standard fixes<\/li>\n<\/ul>\n\n<h4>2.6<\/h4>\n\n<ul>\n<li>WP 5.9 tested<\/li>\n<li>Fixed: Webmail button not always working<\/li>\n<li>Fixed: Bulk actions not always working<\/li>\n<li>Better translation of bulk action results<\/li>\n<li>Internal: Namespace changes<\/li>\n<\/ul>\n\n<h4>2.5<\/h4>\n\n<ul>\n<li>Fixed fatal error on New Email screen<\/li>\n<li>Code cleanup<\/li>\n<li>Translations simplifiaction<\/li>\n<li>Shorter transient (cache) times, better invalidation<\/li>\n<\/ul>\n\n<h4>2.4<\/h4>\n\n<ul>\n<li>Security release: On multisite, check that the submitted email domain is legal when creating new email addresses\/forwarders<\/li>\n<li>Tighter multisite filtering of domains and email accounts<\/li>\n<li>Removed email address select step (dropdown) on Mailboxes page when there is only one email account available<\/li>\n<\/ul>\n\n<h4>2.3<\/h4>\n\n<ul>\n<li>Multisite support: Limit email domains to current host for all users except superadmins<\/li>\n<\/ul>\n\n<h4>2.2<\/h4>\n\n<ul>\n<li>Make sure no errors from gethostbyaddr() when no \"SERVER_ADDR\" (cron, CLI)<\/li>\n<\/ul>\n\n<h4>2.1<\/h4>\n\n<ul>\n<li>Support for email addresses on (all) subdomains of main account is a subdomain<\/li>\n<\/ul>\n\n<h4>2.0<\/h4>\n\n<ul>\n<li>Recommending my other plugin 'WebFacing\u2122 \u2013 cPanel\u00ae Storage, resource usage and errors'<\/li>\n<li>Translate email types<\/li>\n<li>Bugfix: IDN display for Postboxes page<\/li>\n<li>Translate postbox names<\/li>\n<li>Row action: Show mailboxes<\/li>\n<li>Row action: Delete messages<\/li>\n<li>Contact email editing (not working)<\/li>\n<li>Remove redundant email column for mailboxes table<\/li>\n<li>Minor text changes<\/li>\n<\/ul>\n\n<h4>1.9<\/h4>\n\n<ul>\n<li>Show mailboxes for all accounts<\/li>\n<li>Remove old messages per mailbox<\/li>\n<\/ul>\n\n<h4>1.8<\/h4>\n\n<ul>\n<li>Add action to change email storage quota<\/li>\n<li>Add action to edit a current autoresponder<\/li>\n<\/ul>\n\n<h4>1.7<\/h4>\n\n<ul>\n<li>Bugfix: Correctly account for timezone when adding new autoresponders start\/end times<\/li>\n<li>Limit from email for new autoresponders (select)<\/li>\n<li>New Autoresponder start\/end input as date and time separated (a better user interface)<\/li>\n<li>Allow limited access for other users than administrators, given a capability (<code>cpanel<\/code>) and having a user email under the site domain<\/li>\n<\/ul>\n\n<h4>1.6<\/h4>\n\n<ul>\n<li>Correct placeholder for start\/stop dates<\/li>\n<li>Icon placement fix<\/li>\n<li>Add forwarder\/default destination email icon<\/li>\n<li>Text\/translation fix for \"From email\"<\/li>\n<li>Add\/delete email autoresponders<\/li>\n<\/ul>\n\n<h4>1.5<\/h4>\n\n<ul>\n<li>Revamped Add Email screen with selects for domains<\/li>\n<li>Add Blackhole for email fowarding and default adresses<\/li>\n<li>Support for International Domain Names (IDN)<\/li>\n<li>Disable Webmail button on click and after 10 minutes<\/li>\n<li>Added some icons on screens<\/li>\n<li>Better cache invalidation<\/li>\n<li>Each Webmail button open their links in different tabs<\/li>\n<\/ul>\n\n<h4>1.4<\/h4>\n\n<ul>\n<li>Display and add default email destination for each domain<\/li>\n<li>Faster, better perfomance, with caching using transients (timeout 10 minutes)<\/li>\n<li>Timeout for Webmail buttons, refresh needed (10 minutes)<\/li>\n<li>Bug fixes and code cleanup<\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>Change password for email accounts<\/li>\n<li>View contact\/notifcation emails<\/li>\n<li>Bugfix: Account passwords work for new accounts<\/li>\n<li>Bugfix: Proper label for new account input<\/li>\n<li>Bugfix: Removed dupliacte html ids<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>Better cPanel\u00ae detection and feature check<\/li>\n<li>Remote DNS MX server detection for domains, as these will not receive remote emails<\/li>\n<li>Auto login to Webmail for accounts (button)<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>Dashboard  - At a Glance: Number of Email accounts<\/li>\n<li>More translated strings<\/li>\n<li>Filter \u00b4removable_query_args\u00b4 only for list table page<\/li>\n<li>Text changes and corrections<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release, Apr 21, 2021.<\/li>\n<\/ul>","raw_excerpt":"WebFacing\u2122 - Email Accounts management for cPanel\u00ae","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/139840","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=139840"}],"author":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/knutsp"}],"wp:attachment":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=139840"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=139840"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=139840"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=139840"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=139840"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=139840"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}