WebMail Lite Documentation

Advanced configuration


Admin interface of WebMail Lite allows for setting primary configuration options. Advanced configuration is done via editing configuration files. Due to modular structure of the product, settings are stored in main configuration file data/settings/config.json and in configuration file of each specific module, data/settings/modules/MODULENAME.config.json file.

Main config.json file

Parameter Type Example Description
SiteName string AfterLogic In previous versions, title shown in browser's header. Superseded by setting in Core.config.json
LicenseKey string License key is supplied here
AdminLogin string superadmin Administrative login
AdminPassword string Administrative password (empty by default)
AdminLanguage string English Admin interface language
DBType spec MySQL Database engine used. Currently, only MySQL is supported
DBPrefix string au_ Prefix used for database tables' names (empty by default)
DBHost string Denotes hostname or socket path used for connecting to SQL database
DBName string The name of database in SQL server used by WebMail Lite
DBLogin string root Login for SQL user
DBPassword string Password to access SQL database
UseSlaveConnection bool false These parameters refer to separate read/write access to the database. When UseSlaveConnection is enabled, the first set of credentials will be used to write to the database while Slave credentials - to read from it
DBSlaveHost string
DBSlaveName string
DBSlaveLogin string root
DBSlavePassword string
DBUseExplain bool false Use EXPLAIN in SQL queries
DBUseExplainExtended bool false Use Extended EXPLAIN
DBLogQueryParams bool false If enabled, parameters values will be recorded in the logs
DBDebugBacktraceLimit bool false this parameter can be used to limit the number of stack frames returned
EnableLogging bool false Activates debug logging
EnableEventLogging bool false Activates user activity logging
LoggingLevel spec Full For debug logs, verbosity level can be set to Full, Warning or Error
LogFileName string log-{Y-m-d}.txt Denotes log filename pattern
LogCustomFullPath string Allows for overriding log files location
LogPostView string Determines whether to log full POST data or just key names
EnableMultiChannel bool false This setting and next two are reserved for Aurora Corporate
EnableMultiTenant bool false
TenantGlobalCapa string
AllowThumbnail bool true If disabled, image thumbnails will not be generated
ThumbnailMaxFileSizeMb int 5 Denotes a max filesize of images thumbnails are generated for
AppCookiePath string / Allows for overriding path parameter for cookies
CacheCtrl bool true Enable caching temporary files
CacheLangs bool true Enable caching language files
CacheTemplates bool true Enable caching templates
DisplayServerErrorInformation bool true If enabled, error messages will include texts returned from the server
RedirectToHttps bool false If enabled, users will automatically be redirected from HTTP to HTTPS
SocketConnectTimeoutSeconds int 20 Socket connection timeout limit (in seconds)
SocketGetTimeoutSeconds int 20 Socket stream access timeout (in seconds)
SocketVerifySsl bool false Enables SSL certificate checks
UseAppMinJs bool true Enables loading minified JS files (default behavior)
XFrameOptions string If set to SAMEORIGIN, disallows embedding product interface into IFrame, see Preventing clickjacking attacks with X-Frame-Options header documentation page for details.
RemoveOldLogs bool true If enabled, logs older than 1 day are automatically removed
LogStackTrace bool false If enabled, logs will contain full stack trace of exceptions
Disabled by default to prevent logs from containing sensitive data
PasswordMinLength int 0 Used by password change modules, if set to non-zero, denotes minimal length of new password
PasswordMustBeComplex bool false Used by password change modules, if set to true, new password has to include at least one digit and at least one non-alphanumeric character
StoreAuthTokenInDB bool false If enabled, authentication tokens will be stored in the database and can be revoked

CoreWebclient.config.json file

Parameter Type Example Description
AllowChangeSettings bool false If enabled, users are allowed to change interface settings
AllowDesktopNotifications bool false Enabling desktop notifications
AllowIosProfile bool false Along with SyncIosAfterLogin, activates prompt for getting iOS profile after logging in
AllowMobile bool false Enabling mobile-friendly layout automatically when logging in from iOS or Android smartphone
AllowPrefetch bool false If enabled, message bodies are fetched in background, to speed up displaying a message once it's selected
AttachmentSizeLimit int 0 Max size of attachments allowed to add, 0 for unlimited
AutoRefreshIntervalMinutes int 1 Refresh rate for mail and other screens
ContentSecurityPolicy string default-src 'self' Content-Security-Policy header value
CustomLogoutUrl string If specified, users will be redirected to page with this URL after logging out
DefaultAnonymScreenHash string login Default screen opened when user is not logged in
DefaultUserScreenHash string mail Default screen opened when user is logged in
HeaderModulesOrder array mail, contacts List of screens in the order they're displayed
LanguageNames array العربية, Български, 中文(简体), .... tiếng Việt Denotes native names for languages
MultipleFilesUploadLimit int 50 Limits the number of files to be handled during a single upload
ShowQuotaBar bool false If enabled, users will be able to see their email account quota and space used (assuming IMAP server returns quota information)
Theme string Default Skin name
ThemeList array Default, DeepForest, Funny List of skins offered
HideLogout bool false If enabled, Logout link will not be displayed.
Added in v8.8

Core.config.json file

Parameter Type Example Description
AllowPostLogin bool false Enables sending login credentials via POST
CsrfTokenProtection bool false Enables CSRF protection implemented via a special token used
UserSelectsDateFormat bool false Allows user to select date format
DateFormat spec DD/MM/YYYY Date format used by default
DateFormatList array DD/MM/YYYY, MM/DD/YYYY, DD Month YYYY List of date formats offered
GetAccountWithPassword bool false If enabled, getting account via API will return password as well
Language string English Default language
AutodetectLanguage bool false If enabled, language will be autodetected based on what language is used in user's web browser
PostLoginErrorRedirectUrl string ./ For logging in via POST, users will be redirected to this URL on failed login attempt
TimeFormat spec F24 Time format used by default
ProductName string Afterlogic WebMail Pro PHP Product name reported in admin interface
SiteName string Afterlogic Title shown in browser's header

Mail.config.json file

Parameter Type Example Description
AllowAddAccounts bool false Activates "Add New Account" button in Email Accounts screen of Settings area
AllowAutosaveInDrafts bool false If enabled, message in Compose screen will be auto-saved periodically
AllowIdentities bool false Enables the use of identities
AllowFilters bool false ManageSieve-based filters
AllowForward bool false ManageSieve-based forwarding
AllowAutoresponder bool false ManageSieve-based autoresponders
AllowInsertImage bool false Activates the tool for inserting images into a message
AlwaysShowImagesInMessage bool false By default, external images are blocked for safety purposes, this setting disables the feature
AutoSaveIntervalSeconds int 60 Works together with AllowAutosaveInDrafts, denotes auto-save interval
AllowTemplateFolders bool false Enables templating feature
AllowInsertTemplateOnCompose bool false Enables inline templating
Requires previous setting enabled
MaxTemplatesCountOnCompose bool false For inline templating, limit of templates used
DisplayInlineCss bool false If enabled, WebMail Lite will attempt to display messages with inline CSS converted
IgnoreImapSubscription bool false If enabled, all the folders will be displayed regardless of IMAP subscription status
ImageUploadSizeLimit int 0 Works together with AllowInsertImage, specifies max file size for images uploaded
MessageBodySizeLimit int 25000 Specifies max size of plain & html text bodies displayed
SaveRepliesToCurrFolder bool false If enabled, improves message threading by saving replies to current folder
OverriddenSieveHost string localhost If set, will be used as hostname for connecting to Sieve server instead of IMAP hostname
UseDateFromHeaders bool false By default, message date is retrieved from internal messages information on IMAP, this setting forces displaying message date the way it's shown in Date headers
Removed as of v8.3
bool false By default, emails are sorted by the order they were added in the folder. This setting forces sorting messages by date when they were received by the mail server
MessagesSortBy bool false Replaced UseSortImapForDateMode in v8.3
Detailed info
XMailerValue string AfterLogic webmail client Value used in X-Mailer header in mails sent from WebMail Lite
ForwardedFlagName string $Forwarded System name for Forwarded flag on IMAP. Shouldn't be edited unless IMAP server you use utilizes a different name
AllowNewUsersRegister bool false Legacy setting superseded by AutocreateMailAccountOnNewUserFirstLogin (see below)
PreferStarttls bool false If enabled, WebMail Lite will attempt to connect to mail server over STARTTLS if server supports it
ExternalHostNameOfLocalImap string Value which should be used for external clients connecting to IMAP instead of localhost or similar one
ExternalHostNameOfLocalSmtp string Value which should be used for external clients connecting to SMTP instead of localhost or similar one
AutocreateMailAccount OnNewUserFirstLogin bool false If enabled, users will have their account created in the database on first successful IMAP authentication in WebMail Lite
SieveUseStarttls bool false If enabled, WebMail Lite will access ManageSieve over STARTTLS
DisableStarttlsForLocalhost bool false If set to true, STARTTLS access will only be used for remote hosts but not for localhost
XOriginatingIPHeaderName string X-Original-IP If not empty, outgoing mail messages will have header with that name and sender's IP address there (actual user's IP rather than WebMail Lite installation IP).

MailWebclient.config.json file

Parameter Type Example Description
AllowAppRegisterMailto bool false If enabled, users will be able to set WebMail Lite as an application for handling "mailto:" links
AllowChangeInputDirection bool false Allows for switching between LeftToRight and RightToLeft input directions
AllowSpamFolder bool false Adds Spam folder to the list of special folders and "Move to spam" button to toolbar
AllowAddNewFolder OnMainScreen bool false Adds "New Folder" button in addition to "New Message" on main screen
ComposeToolbarOrder array back, send, save, importance, MailSensitivity, confirmation, OpenPgp List of tools in Compose toolbar
DefaultFontName string Tahoma Default font name used for composing mail
DefaultFontSize int 3 Default font size used for composing mail. Supported values: 2, 3, 5, 7. Default value is 3 which corresponds to 16px, 2 is 13px
JoinReplyPrefixes bool false If enabled, subject prefixes like "Re: Re: Re:" will be joined together like "Re[3]:"
MailsPerPage int 20 Number of email messages displayed on a page
MaxMessagesBodies SizeToPrefetch int 50000 Works together with AllowPrefetch in CoreWebclient.config.json file, defines max amount of message bodies fetched in one request
ShowEmailAsTabName bool false If enabled, email address will be shown instead of Mail screen name
AllowHorizontalLayout bool false If enabled, horizontal layout option becomes available in user settings
HorizontalLayoutByDefault bool false If enabled, horizontal layout option is used as a default one


Parameter Type Example Description
CustomLoginUrl string If specified, users which aren't logged in will be redirected to this URL instead of login form
InfoText string Arbitrary HTML text shown on login page under all the buttons
BottomInfoHtmlText string Arbitrary HTML text shown at the bottom of login page, by default it holds "Powered by WebMail Lite" text
AllowChangeLanguage bool false Allows user to change interface language on login
UseDropdownLanguagesView bool false Works together with AllowChangeLanguage; if enabled, languages are selected with a dropdown; otherwise, list of language is presented as a table with national flags