{"id":2010589,"date":"2022-06-13T19:35:52","date_gmt":"2022-06-13T19:35:52","guid":{"rendered":"https:\/\/wpx.net\/blog\/?p=2010589"},"modified":"2024-06-12T12:02:47","modified_gmt":"2024-06-12T12:02:47","slug":"better-webmail-client-for-wpx","status":"publish","type":"post","link":"https:\/\/wpx.net\/blog\/better-webmail-client-for-wpx\/","title":{"rendered":"A Better Web Mail Client for WPX"},"content":{"rendered":"\n<p>Internet users who want to use email with their own domain have somewhat limited choices. Even though almost every web hosting company will offer you &#8216;free&#8217; and often &#8216;unlimited&#8217; mailboxes, the service is usually quite bare-bones. Useful Webmail GUIs are noticeably lacking.<\/p>\n\n\n\n<p>If you handle email on a mobile device or use some desktop mail client software, this could be enough. But if you are looking for a genuine replacement for web-based email, there aren&#8217;t that many providers that will handle this task decently.&nbsp;Among those who do (Google Workspace, Zoho Mail, MX Route, Outlook\/Hotmail, and a few select others) there is one common, yet often ignored limitation: you do not have full and unobstructed ownership over your data, and migration is difficult, if at all possible.<\/p>\n\n\n\n<p>All of those services store emails on their own servers, and allow users to access them from the web browser or via 3rd party mail client via the POP3\/IMAP protocol. Although it is possible to migrate mailboxes via IMAP, email is not portable in the same sense websites are.<\/p>\n\n\n\n<p>It is, of course, possible to set up your very own email server so that you employ safeguards against deletion, create multiple backups and control access. However, the setup of a &#8216;proper&#8217; email server requires a separate system that is difficult to create and maintain, and generally needs the involvement of professionals throughout its lifetime.<\/p>\n\n\n\n<p>This is OK for medium and large corporations, but what about small businesses like most shared hosting users?<\/p>\n\n\n\n<p>WPX.net offer unlimited mailboxes, but their web mail is somewhat lackluster even if functional (sorry, guys!). If you ask them, they will readily suggest that you should choose a different service, such as Google or Zoho, if you want better browser-accessible email.<\/p>\n\n\n\n<p>But these services, while priced reasonably, are not free. Pricing scales per mailbox, regardless of how heavy or light usage that mailbox sees. For a boot-strapped company with a couple of part-time employees who want to present themselves well to the world and not to share a single mailbox among everybody, this can easily add several hundred dollars to the annual bill.<\/p>\n\n\n\n<p>Surely there must be a way past this?<\/p>\n\n\n\n<p>I decided to check if there is some middle ground that allows WPX.net users to still use the freely available mail services offered as part of their hosting package, while having a better experience than the web-based client which is currently available to them.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_Present_State_of_Web-based_Email_Clients\"><\/span>The Present State of Web-based Email Clients<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>There exist many web-based email clients that ship under open source licenses and are free to use in self-hosted mode. There are powerful groupware tools such as <a href=\"https:\/\/www.horde.org\/apps\/webmail\" target=\"_blank\" rel=\"noopener noreferrer\">Horde Mail<\/a> and relics like <a href=\"https:\/\/squirrelmail.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">SquirrelMail<\/a> (mail for nuts!) whose development stopped nearly a decade ago but are still supported. There is the newer generation of somewhat more modern, better-looking and mobile device compatible clients like <a href=\"https:\/\/roundcube.net\/\" target=\"_blank\" rel=\"noopener noreferrer\">RoundCube<\/a> and <a href=\"https:\/\/www.rainloop.net\/\" target=\"_blank\" rel=\"noopener noreferrer\">Rainloop<\/a>.<\/p>\n\n\n\n<p>I have tried all of them, but I was never entirely happy. And although I have a powerful desktop mail client (<a href=\"https:\/\/www.getmailbird.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Mailbird<\/a>), I still wanted to find a good web-based solution.<\/p>\n\n\n\n<p>After about an hour of research, I believe I finally discovered The One: <a href=\"https:\/\/afterlogic.org\/webmail-lite\" target=\"_blank\" rel=\"noopener noreferrer\">Afterlogic WebMail Lite PHP<\/a>. (Well&#8230; not exactly &#8216;The One&#8217; because it also has a .NET version for Microsoft Internet Information Services (IIS), if you are into such perversions, but you get my idea.)<\/p>\n\n\n\n<p>Webmail Lite offers a minimalistic interface designed using modern HTML5 and CSS3 technology; it is localized into more than 30 languages, including those who use RTL alphabets; it integrates the official Microsoft online viewer for MS Office documents; it uses 2FA (two-factor authentication); it even supports OpenPGP!<\/p>\n\n\n\n<p>Most importantly, it is under active development (latest release is from April 2022). So I immediately decided to give it a go.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Installing_Afterlogic_WebMail_Lite\"><\/span>Installing Afterlogic WebMail Lite<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Webmail Lite ships as a 20MB ZIP archive that can be extracted in any folder of a web server, which means that I can install it as a sub-folder for an existing website, the same way I did with <a href=\"https:\/\/wpx.net\/blog\/infinitewp-remote-wordpress-maintenance-for-free\/\" target=\"_blank\" rel=\"noreferrer noopener\">InfiniteWP<\/a>.<\/p>\n\n\n\n<p>This will save me from having to create a separate website just for that purpose. Those who are on the <a href=\"https:\/\/wpx.net\/cart\/wordpress-hosting\/#step-0\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>WPX Business Plan<\/strong><\/a> will certainly appreciate the fact that using Webmail Lite will not use up their domain quota.<\/p>\n\n\n\n<p>Once I decompressed the ZIP file into <code>webmail\/<\/code>, the first phase of the installation was done. I was able to load the GUI and it greeted me with a beautiful login screen:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-login-screen-multilanguage.jpeg\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1146\" height=\"555\" src=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-login-screen-multilanguage.jpeg\" alt=\"webmaAfterlogic Webmail Lite PHP Login Screen (Multi-language)il-lite-login-screen-multilanguage\" class=\"wp-image-2010593\" srcset=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-login-screen-multilanguage.jpeg 1146w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-login-screen-multilanguage-300x145.jpeg 300w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-login-screen-multilanguage-1024x496.jpeg 1024w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-login-screen-multilanguage-768x372.jpeg 768w\" sizes=\"auto, (max-width: 1146px) 100vw, 1146px\" \/><\/a><figcaption class=\"wp-element-caption\">I counted 35 language in the drop down menu.<\/figcaption><\/figure>\n\n\n\n<p>However, I was not yet ready to log into the user part of the program. According to the installation docs, first I needed to perform a compatibility check by heading to <code>webmail\/adminpanel\/?install<\/code><\/p>\n\n\n\n<p>I did that with a small amount of anxiety but thankfully, the installer had deemed the WPX.net environment compatible with its requirements and allowed me to continue:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-preinstall-check.jpeg\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1146\" height=\"757\" src=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-preinstall-check.jpeg\" alt=\"WebMail Lite Preinstall Check\" class=\"wp-image-2010595\" srcset=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-preinstall-check.jpeg 1146w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-preinstall-check-300x198.jpeg 300w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-preinstall-check-1024x676.jpeg 1024w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-preinstall-check-768x507.jpeg 768w\" sizes=\"auto, (max-width: 1146px) 100vw, 1146px\" \/><\/a><figcaption class=\"wp-element-caption\">WebMail Lite Preinstall Check<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_to_Set_Up_Webmail_Lite\"><\/span>How to Set Up Webmail Lite<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The setup procedure for Webmail Lite is simple. I have to set up the following:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>admin account access<\/li>\n\n\n\n<li>database access<\/li>\n\n\n\n<li>logging for debugging purposes and user activity (elective)<\/li>\n\n\n\n<li>common webmail GUI default settings such as site name, color scheme (spoiler alert: Sand is the best among the 4 available themes), default UI language and 12\/24-hour display<\/li>\n\n\n\n<li>Facebook and Google passwordless login (elective, I will skip that entirely)<\/li>\n\n\n\n<li>mail behavior for new users (either automatic or manual provisioning) and (optionally) allow users to add external mailboxes<\/li>\n\n\n\n<li>add one or more mail servers<\/li>\n<\/ul>\n\n\n\n<p>Let us go on one by one.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Admin_Account_Access\"><\/span>Admin Account Access<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>This is the place where you can change the access details for the admin account. The default configuration will accept a username of &#8216;superadmin&#8217; and empty password.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-setup-01-admin-access.jpeg\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1146\" height=\"555\" src=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-setup-01-admin-access.jpeg\" alt=\"WebMail Lite Admin Access\" class=\"wp-image-2010596\" srcset=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-setup-01-admin-access.jpeg 1146w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-setup-01-admin-access-300x145.jpeg 300w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-setup-01-admin-access-1024x496.jpeg 1024w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-setup-01-admin-access-768x372.jpeg 768w\" sizes=\"auto, (max-width: 1146px) 100vw, 1146px\" \/><\/a><figcaption class=\"wp-element-caption\">Configure admin account access<\/figcaption><\/figure>\n\n\n\n<p>The superadmin username is freely changeable and I <i>strongly<\/i> suggest that you pick up something that doesn&#8217;t bear any remote resemblance to an admin username.<\/p>\n\n\n\n<p>I leave the &#8216;old password&#8217; field blank and supply a long &amp; strong new password. Saving the settings, and I am done.<\/p>\n\n\n\n<p>Without logging off, I open an anonymous session in another browser window to see if my settings work. They do.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Database_Setup\"><\/span>Database Setup<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Afterlogic Webmail Lite stores all email-related metadata into an MySQL database, and I need to create one.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-setup-02-database-access.jpeg\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1146\" height=\"555\" src=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-setup-02-database-access.jpeg\" alt=\"WebMail Lite Database Setup\" class=\"wp-image-2010597\" srcset=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-setup-02-database-access.jpeg 1146w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-setup-02-database-access-300x145.jpeg 300w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-setup-02-database-access-1024x496.jpeg 1024w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-setup-02-database-access-768x372.jpeg 768w\" sizes=\"auto, (max-width: 1146px) 100vw, 1146px\" \/><\/a><figcaption class=\"wp-element-caption\">WebMail Lite Database Setup<\/figcaption><\/figure>\n\n\n\n<p>I have to enter my <a href=\"https:\/\/wpx.net\/clientarea\/\" target=\"_blank\" rel=\"noopener noreferrer\">WPX client dashboard<\/a> and go to Databases, then click on &#8216;Add database&#8217;. I give it a meaningful name:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-42.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"455\" height=\"222\" src=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-42.png\" alt=\"\" class=\"wp-image-2016310\" srcset=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-42.png 455w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-42-300x146.png 300w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-42-200x98.png 200w\" sizes=\"auto, (max-width: 455px) 100vw, 455px\" \/><\/a><\/figure>\n\n\n\n<p>I then need to create a database user. This is a bit more complicated because of a bug in the UI. I first click on the &#8216;Add database user&#8217; button:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-43.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"885\" height=\"375\" src=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-43.png\" alt=\"\" class=\"wp-image-2016312\" srcset=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-43.png 885w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-43-300x127.png 300w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-43-768x325.png 768w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-43-200x85.png 200w\" sizes=\"auto, (max-width: 885px) 100vw, 885px\" \/><\/a><\/figure>\n\n\n\n<p>There is a peculiarity in the WPX GUI here that you need to be aware of. When you click on &#8216;Add database user&#8217; and type a name, this is NOT the username you will get. Instead, the control panel will append a pseudo-random suffix to the name you choose and will tell you that user &#8216;whatever&#8217; has been created.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-setup-05-database-list-users.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-setup-05-database-list-users.png\" alt=\"WPX Database List Users\"\/><\/a><\/figure>\n\n\n\n<p>However the username given in that window is also NOT the username you will get. In order to see the full and correct username, you need to click on &#8216;List database users&#8217;. Only there you will get the full name of your DB user.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-setup-06-database-show-usersname.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-setup-06-database-show-usersname.png\" alt=\"WPX Database User Actual Name\"\/><\/a><\/figure>\n\n\n\n<p>I go back and type all details (DB username, password and DB name; I leave 127.0.0.1 as entered as Host) and click on &#8216;Test connection&#8217;. A green status message in the top right corner of the window tells me I am good.<\/p>\n\n\n\n<p>Nearly done here \u2014 I only have to create the DB structure, which I do by clicking on the &#8216;Create\/Update tables&#8217; button. It takes less than 3 seconds. I am unsure if I have to also click on &#8216;Update configuration&#8217;. The description tells me that I need to do it to update module configuration, but to the best of my knowledge I have not installed any modules.<\/p>\n\n\n\n<p><strong>A side note<\/strong>: Webmail Lite has a list of add-on modules that add functionality such as the ability to show reCaptcha at login, export messages as .zip archive or save them as PDF files, and so on. You should check out the <a href=\"https:\/\/afterlogic.com\/docs\/webmail-lite\/modules-directory\" target=\"_blank\" rel=\"noopener noreferrer\">module directory<\/a>.<\/p>\n\n\n\n<p>I decide to click on &#8216;Update configuration&#8217; and nothing breaks. I get another confirmation that the operation was performed successfully. I think I am done here.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"EnableDisable_Logging\"><\/span>Enable\/Disable Logging<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Afterlogic Webmail Lite allows the administrator to log debug errors and also to keep track of user activity. I enable debug logging and adjust the verbosity to &#8216;Warnings&#8217;. This will allow me to see how well the software will work using the PHP version that runs on this vhost (8.0). I don&#8217;t care about user activity logging.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-2.jpeg\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"496\" src=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-2-1024x496.jpeg\" alt=\"\" class=\"wp-image-2016313\" srcset=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-2-1024x496.jpeg 1024w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-2-300x145.jpeg 300w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-2-768x372.jpeg 768w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-2-200x97.jpeg 200w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-2.jpeg 1146w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Name_Theme_and_Localization\"><\/span>Name, Theme and Localization<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>On the next screen, I have to choose a &#8216;name for the site&#8217; (meaning, the title that will show in the browser tab) and a theme. &#8216;Sand&#8217; is the the best. I leave language as &#8216;autodetect&#8217; and choose a 24-hour time format by selecting 13:00.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-3.jpeg\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"496\" src=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-3-1024x496.jpeg\" alt=\"\" class=\"wp-image-2016314\" srcset=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-3-1024x496.jpeg 1024w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-3-300x145.jpeg 300w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-3-768x372.jpeg 768w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-3-200x97.jpeg 200w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-3.jpeg 1146w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Done here, a little more remains.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"About_Panel\"><\/span>About Panel<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>This data could have easily been placed elsewhere, for example on the home screen. Whatever. If you are reading this in the distant future, I state for the record that my review for Afterlogic WebMail Lite PHP is based on version&nbsp;<br>9.4.0.build4-build-a3.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Social_Login\"><\/span>Social Login<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Webmail Lite allows users to log in by authenticating via their Facebook and\/or Google profile. Each one requires a platform application. I will not be doing this right now, but if you want to do it, here&#8217;s how to begin:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/developers.facebook.com\/docs\/development\/create-an-app\" target=\"_blank\" rel=\"noopener noreferrer\">How to create a Facebook App<\/a><\/li>\n\n\n\n<li>How to create a Google App (for Gmail accounts)\n<ul class=\"wp-block-list\">\n<li>Go to <a href=\"https:\/\/developers.google.com\/identity\/sign-in\/web\/sign-in\" target=\"_blank\" rel=\"noopener\">https:\/\/developers.google.com\/identity\/sign-in\/web\/sign-in<\/a> and start reading. I have no idea where to go from there.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>How to create a Google App (for Google Workplace accounts):\n<ul class=\"wp-block-list\">\n<li>Go to <a href=\"https:\/\/admin.google.com\" target=\"_blank\" rel=\"noopener\">https:\/\/admin.google.com<\/a><\/li>\n\n\n\n<li>Scroll down and click on Apps&nbsp;<\/li>\n\n\n\n<li>Select Web and mobile apps<\/li>\n\n\n\n<li>Click on Add app and select Add custom SAML app<\/li>\n\n\n\n<li>Follow the on-screen instructions<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Mail_Settings\"><\/span>Mail Settings<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>On this tab, I need to define the behavior of the Webmail Lite application when a user logs in with valid email credentials.<\/p>\n\n\n\n<p>Enabling the first option, &#8216;Allow auto-provisioning of new users&#8217; means that if the application connects successfully with one of the configured mail servers, it will automatically create a local profile for this user and keep track of his email automatically. The alternative is to assign this task to the administrator to do it manually, which might be better for security.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-4.jpeg\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"496\" src=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-4-1024x496.jpeg\" alt=\"\" class=\"wp-image-2016315\" srcset=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-4-1024x496.jpeg 1024w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-4-300x145.jpeg 300w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-4-768x372.jpeg 768w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-4-200x97.jpeg 200w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-4.jpeg 1146w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>The second option allows webmail users to add 3rd party mailboxes and to use them via the web GUI of the Webmail Lite application. While good to have at my disposal, I don&#8217;t see myself ever using this feature. Insuring good deliverability will require extra work adding or changing existing DNS records (SPF, DMARC).<\/p>\n\n\n\n<p>Because my objective is to simply find a solution for accessing email on WPX-hosted domains via a web-based GUI that is better than the built-one, this feature is out of scope.<\/p>\n\n\n\n<p>I will leave this one disabled and move on.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Setting_up_a_Mail_Server\"><\/span>Setting up a Mail Server<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The only thing that remains is to actually set up our mail server. First, I will need to create a new mailbox for tests, and get the email credentials along with it. Back to the WPX host client area I must go, this time to E-mail Boxes.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-44.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"861\" height=\"363\" src=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-44.png\" alt=\"\" class=\"wp-image-2016316\" srcset=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-44.png 861w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-44-300x126.png 300w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-44-768x324.png 768w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-44-200x84.png 200w\" sizes=\"auto, (max-width: 861px) 100vw, 861px\" \/><\/a><\/figure>\n\n\n\n<p>I have blurred the incoming\/outgoing server name and IP address so that you don&#8217;t get distracted when following this tutorial and decide to copy them. You should obtain the specific values from your own mailbox control panel.<\/p>\n\n\n\n<p>One advantage of the WPX.net shared hosting service is that every web host has its own fully configured mail server. I will try to access the mail server via local address (127.0.0.1) instead of using the public server IP. This will probably make my connection a tad faster (because traffic will never leave the local machine) and safer (for the very same reason).<\/p>\n\n\n\n<p>While still here, I create for myself a brand new mailbox for testing purposes via the &#8216;Add a new e-mail box&#8217; button in the lower right corner.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-45.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"749\" height=\"1024\" src=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-45-749x1024.png\" alt=\"\" class=\"wp-image-2016317\" srcset=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-45-749x1024.png 749w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-45-219x300.png 219w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-45-768x1050.png 768w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-45-200x273.png 200w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-45.png 823w\" sizes=\"auto, (max-width: 749px) 100vw, 749px\" \/><\/a><\/figure>\n\n\n\n<p>I am so close to the moment of truth! This is how I provisioned my mail server:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-5.jpeg\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"993\" height=\"1024\" src=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-5-993x1024.jpeg\" alt=\"\" class=\"wp-image-2016318\" srcset=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-5-993x1024.jpeg 993w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-5-291x300.jpeg 291w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-5-768x792.jpeg 768w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-5-200x206.jpeg 200w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-5.jpeg 1146w\" sizes=\"auto, (max-width: 993px) 100vw, 993px\" \/><\/a><\/figure>\n\n\n\n<p>As you can see, I limited it to a single domain, but this is entirely by choice. You may have multiple domains added to your WPX.net hosting account, and you can either list all of them, or leave the field &#8216;Domains&#8217; blank. Because I am not fully familiar with the product though, I would recommend that you list domains by hand instead of leaving the field blank, as this could potentially limit the possibility for abuse.<\/p>\n\n\n\n<p>Observe that SMTP authentication should be configured to require full email address and password; this is how the WPX.net mail server is configured to work.<\/p>\n\n\n\n<p><a href=\"http:\/\/sieve.info\/\" target=\"_blank\" rel=\"noopener noreferrer\">Sieve<\/a> is a web server language that allows precise filtering of email message by issuing commands either server-side or client-side. The software stack that runs on WPX.net hosting servers supports sieve, but I am not sure if it is enabled, and that is why for the time being at least I will leave it disabled.<\/p>\n\n\n\n<p>The purpose of the &#8216;IMAP and SMTP hosts for external mail clients&#8217; checkbox and the fields below it is purely informational: users have the ability to see server settings from within their webmail GUI, and if the SMTP\/IMAP server is specified as localhost (as I did), you should put the real server hostname or IP address here for the benefit of your users who might want to replicate their mailbox on a mobile device as well.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Logging_as_Webmail_User_for_the_First_Time\"><\/span>Logging as Webmail User for the First Time<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The moment of truth has come. I configured the Afterlogic webmail GUI, and now it is time to attempt login with the credentials for the new mailbox I created earlier.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"496\" src=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-6-1024x496.jpeg\" alt=\"\" class=\"wp-image-2016320\" srcset=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-6-1024x496.jpeg 1024w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-6-300x145.jpeg 300w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-6-768x372.jpeg 768w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-6-200x97.jpeg 200w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-6.jpeg 1146w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>After a second or two&#8230; I am in! Here is how my brand-new and very empty webmail looks like:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"496\" src=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-7-1024x496.jpeg\" alt=\"\" class=\"wp-image-2016321\" srcset=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-7-1024x496.jpeg 1024w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-7-300x145.jpeg 300w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-7-768x372.jpeg 768w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-7-200x97.jpeg 200w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-7.jpeg 1146w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Next stop is to run the mailbox through some mail warming exercises; as a result, over the next couple of days I will receive up to 150 automatically generated messages from random addresses, and the mail warming service will also issue some outgoing messages that will end up in my sent mail folder. This way, the test mailbox will quickly achieve a lived-in look.<\/p>\n\n\n\n<p>While waiting for all of this, I will also shoot a message to my favorite <a href=\"https:\/\/www.mail-tester.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">mail deliverability testing tool<\/a> to see how well it will work. The GUI is simple and functional; it obviously lacks the utility and polish of Gmail or Zoho Mail, but in my humble opinion isn&#8217;t half bad either.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"531\" src=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-8-1024x531.jpeg\" alt=\"\" class=\"wp-image-2016322\" srcset=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-8-1024x531.jpeg 1024w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-8-300x156.jpeg 300w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-8-768x399.jpeg 768w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-8-1536x797.jpeg 1536w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-8-2048x1063.jpeg 2048w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-8-200x104.jpeg 200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>I would have preferred to have the Importance, Sensitivity and Reading confirmation bar at the bottom, and the Send button in the lower right corner instead of the upper left but I&#8217;ve seen worse.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"895\" src=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-46-1024x895.png\" alt=\"\" class=\"wp-image-2016323\" srcset=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-46-1024x895.png 1024w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-46-300x262.png 300w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-46-768x671.png 768w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-46-200x175.png 200w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-46.png 1278w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Mail-tester awards me a 9\/10 score, which is in line with my expectations. For more details about that missing last point, see my earlier post on <a href=\"https:\/\/wpx.net\/blog\/how-to-set-up-smtp-for-email-delivery-in-wordpress\/\" target=\"_blank\" rel=\"noopener noreferrer\">configuring SMTP within WordPress<\/a>, and use the ToC to scroll down to &#8216;And what does a DKIM record do?&#8217; near the end.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Folder_Management\"><\/span>Folder Management<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>At this moment, I realized I was facing an issue: my outgoing emails were not being stored in the Sent folder. After some poking around I figured out the root cause. For whatever reason, not all mail folders that we are accustomed to use were enabled by default. Changing this is a per-account setting accessible via Settings\u27a1Email Account\u27a1Manage Folders:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1079\" height=\"677\" src=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-setup-20-mail-folder-setup.png\" alt=\"WebMail Lite Folder Setup\" class=\"wp-image-2010612\" srcset=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-setup-20-mail-folder-setup.png 1079w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-setup-20-mail-folder-setup-300x188.png 300w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-setup-20-mail-folder-setup-1024x642.png 1024w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-setup-20-mail-folder-setup-768x482.png 768w\" sizes=\"auto, (max-width: 1079px) 100vw, 1079px\" \/><figcaption class=\"wp-element-caption\">You need to specifically assign existing folders to these four functional folders (Sent, Drafts, Trash and Spam).<\/figcaption><\/figure>\n\n\n\n<p>The less pleasant part of this discovery was that this is supported at folder level only (i.e. I can&#8217;t get everything in one pass):<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"666\" height=\"246\" src=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-setup-19-webmail-mail-import-export-limitations.png\" alt=\"WebMail Lite Export Limitations\" class=\"wp-image-2010613\" srcset=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-setup-19-webmail-mail-import-export-limitations.png 666w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2022\/06\/webmail-lite-setup-19-webmail-mail-import-export-limitations-300x111.png 300w\" sizes=\"auto, (max-width: 666px) 100vw, 666px\" \/><figcaption class=\"wp-element-caption\">It does not seem possible to download all emails at once, you have to go folder by folder<\/figcaption><\/figure>\n\n\n\n<p>Still, this is a very important feature to have at our disposal. Having this export capability at hand, one could backup their email manually, which is still much better than before.<\/p>\n\n\n\n<p>But I also want to see how email is stored within the database. Because if the database is structured sufficiently well, then email becomes easy to backup and truly portable between hosts, which solves our problems with email data ownership.<\/p>\n\n\n\n<p>To do my analysis, I will use my favorite tool, <a href=\"https:\/\/www.adminer.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Adminer<\/a>. This seemingly malnourished phpMyAdmin relative is just as powerful as its more popular and beefier sibling, yet is fully portable and runs as a single PHP file. <a href=\"https:\/\/github.com\/vrana\/adminer\/releases\/download\/v4.8.1\/adminer-4.8.1-mysql-en.php\" target=\"_blank\" rel=\"noopener noreferrer\">Let&#8217;s grab a copy of the latest Adminer version<\/a> and have a look at the data model.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Storing_Settings_internal_DB_Structure_and_contents_of_%E2%80%98data_folder\"><\/span>Storing Settings: internal DB Structure and contents of &#8216;data&#8217; folder<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Unless I have missed something, it seems that Webmail Lite has a hybrid approach towards storing configuration settings. Some of these (e.g. email identities, lists of contacts, etc.) are stored inside the database. Other, more general settings reside inside the <code>\/data<\/code> subfolder as config files in JSON format.<\/p>\n\n\n\n<p>Most importantly, Webmail Lite does not seem to store actual emails in its own database. It only uses the DB for storing application settings and metadata.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-47.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"970\" height=\"713\" src=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-47.png\" alt=\"\" class=\"wp-image-2016324\" srcset=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-47.png 970w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-47-300x221.png 300w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-47-768x565.png 768w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-47-200x147.png 200w\" sizes=\"auto, (max-width: 970px) 100vw, 970px\" \/><\/a><\/figure>\n\n\n\n<p>A part of me was hoping this would not be so, and that the emails would be stored inside as well. This would make mailbox portability much easier, but alas it was not to be.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Importing_and_Exporting_Emails\"><\/span>Importing and Exporting Emails<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Not storing the emails in the database does not mean the end of the world though.<\/p>\n\n\n\n<p>WebMail Lite supports exporting individual emails or whole email folders. Individual emails are exported as .eml files (<a href=\"https:\/\/www.loc.gov\/preservation\/digital\/formats\/fdd\/fdd000388.shtml\" target=\"_blank\" rel=\"noopener noreferrer\">EML is a standardized format<\/a>); Email folders are exported as a ZIP archive which contains all individual messages as separate .eml files.<\/p>\n\n\n\n<p>Import works in a similar way with one distinction: it does not accept individual .eml files, only .zip archives. You can still import a single .eml file; you just need to zip it first.<\/p>\n\n\n\n<p>Using this solves our issue with data ownership and data mobility. From ownership perspective, I can periodically download a full archive of all my emails. From mobility perspective, I can equally well upload an archive into a folder, and the messages will be synced with the local mailbox.<\/p>\n\n\n\n<p>In theory (I am saying this because I haven&#8217;t tried it in practice) this means that you could export all your emails, redirect email to be handled by a different hosting company, install WebMail Lite on their server, set up the mail box for a second time and simply import the contents of your folders.<\/p>\n\n\n\n<p>While not too convenient, I believe the above is a viable solution to the portability problem.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Other_Nice_To_Haves\"><\/span>Other Nice To Haves<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>There are many other &#8216;nice to have&#8217; features that I will not mention in detail:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Support of multiple &#8216;identities&#8217; per email account: you can set up several combinations or variations of your name (as seen on the From: line), email address, and signature.<\/li>\n\n\n\n<li>Automatic blocking of embedded images in message that can be switched off once or permanently for messages from a particular sender<\/li>\n\n\n\n<li>Easy way to download individual message in eml format<\/li>\n\n\n\n<li>Easy access to message headers and source for analysis<\/li>\n\n\n\n<li>Support for in-browser event notifications<\/li>\n\n\n\n<li>Support for handling mailto: links (although I&#8217;d personally not enable this)<\/li>\n\n\n\n<li>Support for OpenPGP encryption via PKIIt is very easy to enable support for additional mail servers. It requires one preliminary operation from the webmail admin (add new mailserver) and then the user can simply log in using their existing credentials. Syncing the emails is very quick, for me it took literally less than 2 seconds.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><strong>Note: <\/strong>this requires the setting &#8216;Allow auto-provisioning of new users&#8217; to be enabled in the admin panel. If it isn&#8217;t, the webmail admin will need to manually approve every new user who has logged successfully. I was initially against having this setting enabled, but seeing how simple it is from the mail user&#8217;s perspective I&#8217;d recommend that you keep this setting enabled:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1010\" height=\"250\" src=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-48.png\" alt=\"\" class=\"wp-image-2016325\" srcset=\"https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-48.png 1010w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-48-300x74.png 300w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-48-768x190.png 768w, https:\/\/wpx.net\/blog\/wp-content\/uploads\/2023\/11\/image-48-200x50.png 200w\" sizes=\"auto, (max-width: 1010px) 100vw, 1010px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Comparison_with_Usermin\"><\/span>Comparison with Usermin<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>I think you will agree with me that while Usermin offers a serviceable UI and supports all basic mail sending functions, WebMail Lite does that plus a lot more, and does it using a GUI that is much more pleasing to the eye.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Downsides\"><\/span>Downsides<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>I did not find any serious issue that would make me give up using this software. In my opinion, it is not difficult to set up, but it involve reading the <a href=\"https:\/\/afterlogic.com\/docs\/webmail-lite\" target=\"_blank\" rel=\"noopener noreferrer\">documentation<\/a> and editing files, which some people might find challenging or tedious.<\/p>\n\n\n\n<p>Some security features might not work out of the box and require some knowledge of server administration (nothing that WPX support can&#8217;t help with).<\/p>\n\n\n\n<p>One thing I was not able to test was how updates work. Webmail Lite does not have an automated version update routine and upgrades need to be performed manually. Apparently one needs to delete the complete application folder except the <code>data\/<\/code> sub-folder, and replace it with the newest version. Presumably, the software itself will take care of possible changes to the database model or config file structure.<\/p>\n\n\n\n<p>Those who are used to how modern email clients handle email threads will be disappointed: apparently, the WPX.net mail server appears not to support this feature. Sorry. However I will study this issue further and will see if I can convince WPX to enable it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Summary\"><\/span>Summary<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>As stated in the beginning of this article, I have two pain points with hosted email:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Usually there isn&#8217;t a good web-based mail interface available<\/li>\n\n\n\n<li>Mailboxes are not portable<\/li>\n<\/ol>\n\n\n\n<p>So how does Afterlogic WebMail Lite PHP handle these two issues?<\/p>\n\n\n\n<p>On the subject of user experience, I&#8217;d say it passes the bar easily, and while not as sophisticated as a paid 3rd party email service like Gmail, Zoho or Hotmail, it is way above average in terms of looks and available functionality. By all means, it is a much better alternative to the webmail solution provided by WPX.net<\/p>\n\n\n\n<p>The issue with email portability is more complicated. If I want to change webhosts, I can do that. Once I reproduce my WebMail Lite installation on the new host and make sure I am still connecting to the &#8216;old&#8217; mailbox, I can export my emails in a series of ZIP archives (one archive per mail folder).<\/p>\n\n\n\n<p>I can then modify the DNS records related to email delivery, and the new mail server will begin receiving my email. Although the local mailbox will be empty, I can now import my zipped email, and WebMail Lite will take care to store them in the mailbox.<\/p>\n\n\n\n<p>So while it does require some footwork, in the end this solution solves the problem with email portability and data ownership. Which means the task is accomplished!<\/p>\n\n\n\n<p>I strongly recommend that you have a look at what Afterlogic WebMail Lite PHP can offer you, and try it out to see for yourself. Ownership over email is often overlooked, but it doesn&#8217;t need to be this way. With WebMail Lite, you can take the matters into your own hands. I hope you will.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Internet users who want to use email with their own domain have somewhat limited choices. Even though almost every web hosting company will offer you &#8216;free&#8217; and often &#8216;unlimited&#8217; mailboxes, the service is usually quite bare-bones. Useful Webmail GUIs are noticeably lacking. If you handle email on a mobile device or use some desktop mail [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":2015312,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"cybocfi_hide_featured_image":"","footnotes":""},"categories":[15],"tags":[],"ppma_author":[111],"class_list":["post-2010589","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-business"],"blocksy_meta":[],"authors":[{"term_id":111,"user_id":3,"is_guest":0,"slug":"ivan-arnaudov","display_name":"Ivan Arnaudov","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/168c2caf170cc2d43ef2ec57bc8af7347f86a5f5e825ee86026e52878df349b2?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/wpx.net\/blog\/wp-json\/wp\/v2\/posts\/2010589","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpx.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpx.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpx.net\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/wpx.net\/blog\/wp-json\/wp\/v2\/comments?post=2010589"}],"version-history":[{"count":13,"href":"https:\/\/wpx.net\/blog\/wp-json\/wp\/v2\/posts\/2010589\/revisions"}],"predecessor-version":[{"id":2021173,"href":"https:\/\/wpx.net\/blog\/wp-json\/wp\/v2\/posts\/2010589\/revisions\/2021173"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wpx.net\/blog\/wp-json\/wp\/v2\/media\/2015312"}],"wp:attachment":[{"href":"https:\/\/wpx.net\/blog\/wp-json\/wp\/v2\/media?parent=2010589"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpx.net\/blog\/wp-json\/wp\/v2\/categories?post=2010589"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpx.net\/blog\/wp-json\/wp\/v2\/tags?post=2010589"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/wpx.net\/blog\/wp-json\/wp\/v2\/ppma_author?post=2010589"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}