Release overview
Release Date: 11 March 2019
Release Versions: atmail suite - 8.5.0 / atmail dav server - 8.5.0 / atmail mail server - 8.5.0
Breaking Changes
OAuth
OAuth Configuration file format has been changed to support multiple 3rd party accounts. Refer to 3rd party accounts section for more details.
Database Schema
Database Schema has been updated.
New Features
Product | Component | Title | Summary | Dependencies | Other |
---|---|---|---|---|---|
atmail suite |
|||||
atmail suite | Calendars | Shared Calendars |
|
atmail DAV |
|
atmail suite | 3rd Party Accounts |
|
atmail API | ||
atmail suite | My Files | 3rd Party Storage |
|
atmail API DropBox, OneDrive, Google Drive API applications must be registered |
|
atmail suite |
Advanced Search |
|
atmail API |
IMAP server MUST support UID SEARCH | |
atmail suite | Printing |
|
atmail API | ||
atmail mail server |
|||||
mail server | administration | General |
|
Product Improvements
Product
|
Component
|
Title
|
Summary
|
---|---|---|---|
atmail suite | Mail / API / DAV | Performance issues |
|
atmail suite | Update translation |
|
|
atmail suite | Empty Trash |
|
|
atmail suite | Translation |
|
|
atmail suite | API | Support for external storage |
|
atmail suite | API | Thread management |
|
atmail suite | API | Administration |
|
atmail suite | Calendars |
|
|
atmail suite | Settings | Sieve |
|
atmail suite | Email Groups |
|
|
atmail suite | API | Mime headers |
|
atmail suite | Mail/API | Combined Quota |
|
atmail suite | Composer |
|
|
mail server | Branding |
|
Bug Fixes
atmail suite
- Calendar more menu icons do not align with gear icon
- Hide 'Shared Calendars' menu header when no shared calendars
- Save to user specified default calendar when create new calendar events
- MS displays atmail logo with old tag line
- My Files not loading console error states quotaTotal
- UI Issues with sieve
- Can't mail to some groups
- Calendar display as object object issue
- Email not rendered when switch back to previous email
- Updating calendar reminder removes forwarding setting
- Infinite loads on renamed folder
- Publish config failed after upgrading to v841
- Unable to rename shared calendar by user with read/write permission
- Shared calendar - unable to click OK to close the shared pop up box for no updates done
- Shared Calendar - Update Contact email but contact saved in shared was not updated
- Shared Calendar - Event Email - Open in Calendar Button does not go to updated event
- Shared Calendar - Event Email Invitation Reply is Blank when the event is declined
- Shared Calendar - unable to add additional user for calendar with read/write permission
- Calendar sharing needs better placeholders
- Shared Calendar - Texts overflow on the calendar app
- Shared Calendar - Tick boxes gets unticked when 3dots (more menu) are selected
- Shared Calendar - unable to delete own calendar with user's read/write permission
- Shared Calendar - Default Calendar can be deleted which causes a problem in creating an event
- Shared Calendar - issues with tick/untick checkboxes in selecting calendars
- Shared Calendar - Adding User in Shared Box,empties (or changes) the calendar option in Add Event
- Shared Calendar - Similar calendar names in shared and user's calendar shows only one name in calendar field add event
- Can't load Settings >Calendar
- unsupportedSort errors
- Failed account cached
- Redis pool value causing many TIME_WAIT
- Shared Calendar - Unable to update to a new user or owned calendar. Calendar dropdown is disabled after update
- Shared Calendar - untick visible option in calendar settings does not apply
- Can add same address to readonly and write address field in calendar
- Can add self to shared calendar
- Can't select calendar on edit
- Shared Calendar - all untick boxes automatically ticked when calendar is set to default in settings
- Mime headers with encoded newlines are not processed correctly
- Single delete email in thread and then reply has no reply inline and doesn't reply to the expected email
- Drafts sent with bad headers
- Simply Better. Business class email. Needs to be removed
- Multiple Drafts Saving in Thread
- Unable to decline invitation to event, originating from Microsoft Exchange
- Edit & send of an old draft email has not sent the edit, but instead the original draft. Renders incorrectly.
- Combined Quota: New accounts have 0 bytes in MyFiles until you go to settings > Mail
- Calendar - Rename allows similar calendar names
- Calendar Name - Blank Name Accepted when using space bar to input
- Long calendar name tooltip shouldn't show on small names
- Calendar - About - long calendar name overflows the box
- Calendar - No selected calendar makes the add event screen go blank
- Event created in ical with reminder shows blank reminder in the calendar app
- Getting Errors from apiserver about UIDs
- iCal can switch shared calendar to default calendar with attendee
- Renaming of a shared calendar doesn't change the name
- Webmail deletes the event when attendee declines but ical still shows the event
- Moving event opens edit pane causes bad UX
- Multiple events on one data don't clear when pulled from popover
- Events with attendee but uncheck send invitation email causes UPSERT_EVENT_ERROR and not saved
- Events with unchecked send invitation email is saved checked
- No event deleted notification when event is in edit mode after deletion
- 30+ more events in one day needs a scroll bar for month view
- When sending an email as a reply to self from broken thread, the email is also sent to myself
- Calendar broken when refresh page
- Clearing all fields in autoreply complains of no subject
- My Files: Preview zip(or file) > refresh = infinite load
- My Files: share URL isn't generated
- When printing mail, no attachments are reported
- Fix all race conditions reported by the golang race detector
- In responsive mode composer options are hidden
- Unable to send/receive email using Outlook/Yahoo
- Unable to delete folder/subfolders using outlook account
- Can't add yahoo accounts, GET_SERVICE_ACCOUNTS_ERROR on console
- Can't add folders using yahoo account
- Adding IMAP account results to unmounting of SETTINGS (failed to load)
- Global settings cache is not cleared when admin uploads a new theme
- IMAP accounts receives email in archive not in inbox
- Shared Calendars has renaming inconsistencies/issues
- Tidy up console.logs
- Correctly set theme background color in theme selection
- Modified muiappbar does not allow menu icon
atmail mail server
- MS displays atmail logo with old tag line
- Download Result button generates webpage instead of data
atmail DAV server
- Cannot disable DAV Cache
Known Issues Outstanding
-
atmail suite
- API call getContacts → blank {} properties is treated as NULL
- atmail suite → When receiving a thread update, the avatar is not updated to latest replied user
- Some mail is not reported due to virtual folder dovecot bug when using file based indexes (clear virtual indexes as a workaround)
- RPM script doesn't output the right configure command as shown in help centre
- Transient password accounts will not work if the domain is switch back to normal logins and visa versa
- Combined quota will only update on login if SSE is disabled or in error.
- Mini calendar isn't formatted correctly for 12h time. AM and PM are placed on new lines and the text is too small.
- Calendar entries that are not parsed correctly by the DAV server will not be displayed
- SSE not idling on selected mailbox
- Advanced search's "has attachment" option is wrapped on some screens with high resolutions.
- Repetitive error when attempting to decline an event invitation that originates in Outlook.
-
atmail mail server
- On first installation, if a domain is created before services are published the domain will be unavailable to the API.
-
atmail DAV server
- quota allocated for storage cannot be changed via UI, DB only.
- Shared calendar renaming only updates name itself, not all shared calendar renamed.
Guides & Documentation
Upgrading to 8.5.0 from 8.4.x
Configuration Changes
The JMAP apiserver will require the below configuration changes to allow uploads to storage providers as well as provision users with 3rd party storage access. These entries should edited/added to your /etc/atmail/api/api.conf.
SHARE_URL=https://yourdomain.com/api/download?blobId={blobId}&name={name}&accountId={accountId}&accessToken={accessToken}
###
PROVISION=15 |
When upgrading from 8.5.0 to 8.4.x please ensure you run the schema upgrade tools:
/usr/bin/apiserver -c /etc/atmail/api/api.conf -console -V --updatedb cd /usr/share/atmail/dav/; php ./scripts/update.php cd /usr/share/atmail/mailserver/webui; php ./utilities/db.php |
Then restart required services:
systemctl restart apiserver nginx php-fpm |
Please be aware of the following schema changes:
Database for apiserver:
alter table AccountSettings change Settings Settings MEDIUMTEXT; ALTER TABLE GlobalSettings ADD GoogleDrivePickerConfig TEXT NOT NULL; ALTER TABLE GlobalSettings ADD DropboxPickerConfig TEXT NOT NULL; ALTER TABLE GlobalSettings ADD OnedrivePickerConfig TEXT NOT NULL; |
To keep dashboard logs visible please ensure the following is set in atmail mail server:
replace into Config enable_dashboard_log (section, keyName, keyValue, keyType) values ( 'global' , 'enable_dashboard_log' , '1' , 'Bool' ); |
Ensure correct RBAC permissions are set (dashboard_logs_webmaillog_view
) on the administration users you wish to provide dashboard logs for.
SkipPasswordValidation has been removed from the API. This functionality has been replaced by IMAPMasterPassword.
StrictContentTypeScanning has been added to the API. This configuration allows very strict content scanning if enabled. Setting this will not allow your users to upload password protected items.
Feature Guides
DAV Authentication to IMAP
DAV can be configured to authenticate against your IMAP service. This enables the combined quota feature. To enable this feature please configure the following in the mail server API:
Services → Dav service : (As seen below)
Once configured, a publishconfig is required to apply the changes.
Combined Quota
Requires DAV Authentication to IMAP
Combined quota can be enabled to share storage quota calculations between My Files and IMAP storage. To enable this feature please configure the following in the mail server API:
Services → Dav service : Enable combined quota → ON
Then configure the mailserver settings for database access.
After publishing the combined quota mode will be enabled.
My Files - S3
My files can now be stored on an AWS S3 bucket.
Requirements:
To configure this feature modify the DAV Config file in /etc/atmail/dav/config.php and append the below entries to end of the file. This avoids conflicts with any publishes from the WebAdmin console.
define(
'ENABLE_STORAGE'
,
true
);
define(
'STORAGE_ENGINE'
,
'S3'
);
define(
'STORAGE_S3_CONFIG'
,
'/etc/atmail/dav/aws.s3.json'
);
define(
'STORAGE_S3_BUCKET'
,
'<your s3 bucket>'
);
Once saved, create your aws.s3.json file that will hold the access credentials in /etc/atmail/dav/aws.s3.json.
{
"includes"
: [
"_aws"
],
"services"
: {
"default_settings"
: {
"params"
: {
"credentials"
: {
"key"
:
"<s3 key>"
,
"secret"
:
"<s3 secret>"
},
"region"
:
"us-east-1"
}
}
}
}
Once saved, restart php-fpm for the configurations to take effect
systemctl restart php-fpm
3rd Party Storage
When downloading attachments the user has the option to download to their preferred 3rd party storage provider.
Please see below for provisioning of each provider.
OneDrive Applciation Setup
- go to https://apps.dev.microsoft.com
- Add an app
- Enter name
- Click on Generate New Password
- Add Web Platform
- Enter redirect url https://yourdomain.com/onedrivepicker.html (must be https and a valid SSL certificate)
- Save
- You now have an application ID to use in the feature guide
Dropbox Application Setup
- Create an app using the developer console for Dropbox https://www.dropbox.com/developers/apps
- Apply for a Dropbox API
- Full dropbox access
- Name your application
- Create App
- Modify the Chooser/Saver domains to include your webmail hostname
- You now have an application ID to use in the feature guide
Google Drive Application Setup
- Create an a new project configuration in the developer console for Google https://console.developers.google.com/projectcreate
- Using https://console.developers.google.com/apis/dashboard click "enable APIs and Services"
- Ensure both Google Drive API and Google Picker API are enabled
- Return to https://console.developers.google.com/apis/dashboard and click credentials
- Create credentials
- API Key
- Give the key a name
- Select HTTP Referrers (web site) as the application restriction
- Add your webmail hostname to Accept requests from these HTTP referrers
- In the API restrictions tab, ensure there are no restrictions applied
- Save
- This key is your devKey
- OAuth client ID
- Name your oauth
- Add your webmail hstname to authorized javascript origins
- Add your oauth callback to the authorized redirect URIs (i.e. http://webmail/api/oauthcb)
- The client ID is your appId
- API Key
This feature can be turned on via the Webmail Administration plugin in the atmail mail server, or via the apiadmin utility.
By following the setup guides below, you must get an application ID per storage provider. Once you have your desired storage provider application ID apply the key as below.
The following properties should be set to true for your domain using the Admin > Services > Webmail Settings tab:
Dropbox Config →
{ "appId" : "YOUR_APPID" } |
Google Drive Config →
{ "appId" : "YOUR_APPID" , "devKey" : "YOUR_APPLICATION_ID" } |
OneDrive Config →
|
Here yourdomain.com is the webmail domain.
Or via apiadmin:
apiadmin setting set DropboxPickerConfig '{"appId": "YOUR_APPID"}' --hostname [YOUR_WEBMAIL_HOSTNAME] apiadmin setting set GoogleDrivePickerConfig '{"clientId": "YOUR_APPID", "developerKey": "YOUR_DEVELOPER_KEY"}' --hostname [YOUR_WEBMAIL_HOSTNAME] apiadmin setting set OnedrivePickerConfig '{"appId": "YOUR_APPID", "redirectUrl": "https://yourdomain.com/onedrivepicker.html"}' --hostname [YOUR_WEBMAIL_HOSTNAME] |
After the apiserver has been restarted this feature will be available to webmail users.
A user can then use this feature via the composer attachment to attach from an external storage provider.
3rd Party Mail Accounts
3rd party mail accounts such as external IMAP, Outlook, Yahoo, Gmail can be added to your mail interface.
To enable this feature for outlook and gmail, you need to populate an oauth file (eg. /etc/atmail/api/oauth.json) in the following format and set OAUTH_CREDENTIAL_FILE in /etc/atmail/api/api.conf.
OAUTH_CREDENTIAL_FILE=/etc/atmail/api/oauth.json |
{ "outlook" : { "clientId" : "[CLIENT_ID]" , "clientSecret" : "[CLIENT_SECRET]" , "scopes" : [ "openid" , "offline_access" , "wl.imap" ] }, "gmail" : { "clientId" : "[CLIENT_ID]" , "clientSecret" : "[CLIENT_SECRET]" , "scopes" : [ ] } } |
To turn this feature on via the webmail administration plugin in the atmail mail server, please set the following properties to On in Admin > Services > Webmail Settings tab:
Allow Gmail accounts → On
Allow Outlook accounts → On
Allow Yahoo accounts → On
Alternatively, using the apiadmin utility:
apiadmin setting set AllowIMAPAccounts true --hostname [YOUR_WEBMAIL_HOSTNAME] apiadmin setting set AllowMultipleAccounts true --hostname [YOUR_WEBMAIL_HOSTNAME] apiadmin setting set AllowOutlookAccounts true --hostname [YOUR_WEBMAIL_HOSTNAME] apiadmin setting set AllowYahooAccounts true --hostname [YOUR_WEBMAIL_HOSTNAME] apiadmin setting set AllowGoogleAccounts true --hostname [YOUR_WEBMAIL_HOSTNAME] |
After restarting the apiserver, the feature is now enabled for the webmail hostname.
Webmail users can then access the feature by using Settings > Account > Add account and selecting the desired external account to add. After successfully adding an account the user can use the account picker drop down to select the desired account.
In transient password mode, the user will be prompted for a password to access the account each login.
Advanced Search
To access the advanced search feature, click the drop down icon on the right of the search box. Once clicked an advanced search panel is presented that allows specific search criteria. Clicking the search icon in the drop down dialog will then execute an advanced search on the current mailbox.
Shared Calendars
Shared calendars are available for all users on the system. This can be accessed using the 'gear' icon next to the calendar you wish to share with a user. Currently only users within the system can be shared with. You can set read or read/write permission on each calendar.
Comments