├── .github
└── workflows
│ ├── build-documentation.yml
│ └── build.yml
├── .gitignore
├── .htaccess
├── CHANGELOG.txt
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── SECURITY.md
├── VERSION
├── apidoc-overview.md
├── apidoc.json
├── apigen-overview.md
├── apigen.neon
├── builder-plesk.sh
├── builder.sh
├── composer.json
├── composer.lock
├── composer.phar
├── favicon.ico
├── index.php
├── package.json
├── php-cs-fixer.phar
├── phpstan.neon
├── pre-config.json
├── robots.txt
└── tests
└── postman_environment.json
/.github/workflows/build-documentation.yml:
--------------------------------------------------------------------------------
1 | name: PHP Composer
2 |
3 | on:
4 | push:
5 | branches: [ master ]
6 |
7 | jobs:
8 | build:
9 | runs-on: ubuntu-24.04
10 | if: "startsWith(github.event.head_commit.message, 'version')"
11 |
12 | steps:
13 | - uses: actions/checkout@v4
14 |
15 | - name: Setup PHP version
16 | uses: shivammathur/setup-php@v2
17 | with:
18 | php-version: 8.2
19 |
20 | - name: Install Composer dependencies
21 | run: composer install
22 |
23 | - name: Build documentation
24 | run: |
25 | chmod +x ./builder.sh
26 | ./builder.sh -t build-documentation
27 | env:
28 | PRODUCT_NAME: ${{ secrets.PRODUCT_NAME }}
29 | FTP_USER: ${{ secrets.FTP_USER }}
30 | FTP_PASSWORD: ${{ secrets.FTP_PASSWORD }}
31 |
--------------------------------------------------------------------------------
/.github/workflows/build.yml:
--------------------------------------------------------------------------------
1 | name: PHP Composer
2 |
3 | on:
4 | push:
5 | branches: [ master ]
6 |
7 | jobs:
8 | build:
9 | runs-on: ubuntu-24.04
10 | if: "startsWith(github.event.head_commit.message, 'version')"
11 |
12 | steps:
13 | - uses: actions/checkout@v4
14 |
15 | - name: Setup PHP version
16 | uses: shivammathur/setup-php@v2
17 | with:
18 | php-version: 7.4
19 |
20 | - name: Install Composer dependencies
21 | run: composer install
22 |
23 | - name: Install NPM dependencies
24 | run: |
25 | chmod +x ./builder.sh
26 | ./builder.sh -t npm
27 |
28 | - name: Compile static files
29 | run: |
30 | sudo ln -s "$(which node)" /usr/bin/node
31 | ./builder.sh -t build
32 |
33 | - name: Build a package
34 | run: ./builder.sh -t pack
35 | env:
36 | PRODUCT_NAME: ${{ secrets.PRODUCT_NAME }}
37 |
38 | - name: Upload main package
39 | run: ./builder.sh -t upload
40 | env:
41 | PRODUCT_NAME: ${{ secrets.PRODUCT_NAME }}
42 | FTP_USER: ${{ secrets.FTP_USER }}
43 | FTP_PASSWORD: ${{ secrets.FTP_PASSWORD }}
44 |
45 | - name: PLESK - Set permission for package builder
46 | run: chmod +x ./builder-plesk.sh
47 |
48 | - name: PLESK - Compile static files
49 | run: ./builder-plesk.sh -t build
50 | env:
51 | PRODUCT_NAME: ${{ secrets.PRODUCT_NAME }}
52 | PLESK_PRODUCT_TITLE: "WebMail Lite"
53 | PLESK_PRODUCT_FULLTITLE: "Afterlogic WebMail Lite"
54 | PLESK_PRODUCT_WEBSITE: "https://afterlogic.org/webmail-lite"
55 | PLESK_PRODUCT_DOWNLOAD: "https://afterlogic.org/download/webmail-lite-php"
56 |
57 | - name: PLESK - Generate changelog
58 | run: ./builder-plesk.sh -t log
59 |
60 | - name: PLESK - Build a package
61 | run: ./builder-plesk.sh -t zip
62 | env:
63 | PRODUCT_NAME: ${{ secrets.PRODUCT_NAME }}
64 |
65 | - name: PLESK - Upload plesk package
66 | run: ./builder-plesk.sh -t upload
67 | env:
68 | PRODUCT_NAME: ${{ secrets.PRODUCT_NAME }}
69 | FTP_USER: ${{ secrets.FTP_USER }}
70 | FTP_PASSWORD: ${{ secrets.FTP_PASSWORD }}
71 |
72 | - name: DEMO - prepare demo package
73 | run: ./builder.sh -t prepare-demo
74 | env:
75 | PRODUCT_NAME: ${{ secrets.PRODUCT_NAME }}
76 | FTP_USER: ${{ secrets.FTP_USER }}
77 | FTP_PASSWORD: ${{ secrets.FTP_PASSWORD }}
78 |
79 | - name: DEMO - build demo static files
80 | run: ./builder.sh -t build
81 | env:
82 | PRODUCT_NAME: ${{ secrets.PRODUCT_NAME }}
83 |
84 | - name: DEMO - build demo package
85 | run: ./builder.sh -t pack
86 | env:
87 | PRODUCT_NAME: ${{ secrets.PRODUCT_NAME }}
88 |
89 | - name: DEMO - upload demo package
90 | run: ./builder.sh -t upload-demo
91 | env:
92 | PRODUCT_NAME: ${{ secrets.PRODUCT_NAME }}
93 | FTP_USER: ${{ secrets.FTP_USER }}
94 | FTP_PASSWORD: ${{ secrets.FTP_PASSWORD }}
95 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /.idea
2 | /.vscode
3 | /nbproject
4 | /node_modules
5 | /vendor
6 | /data
7 | /tenants
8 | /modules
9 | /static
10 | /dev
11 | /system
12 | /adminpanel
13 | /npm-debug.log
14 | /package-lock.json
15 | /_composer_cache
16 | /*.zip
17 | .php-cs-fixer.cache
18 |
19 |
--------------------------------------------------------------------------------
/.htaccess:
--------------------------------------------------------------------------------
1 | RewriteEngine on
2 | RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
3 |
4 |
5 | order allow,deny
6 | deny from all
7 |
8 |
--------------------------------------------------------------------------------
/CHANGELOG.txt:
--------------------------------------------------------------------------------
1 | [9.8.1]
2 | [+] Added a blockquote feature in message editor
3 | [*] Improved security of the authentication token cookie
4 | [*] Fixed automatic account creation in RocketChat module
5 | [*] Fixed issue with Collected addresses displayed in All contacts
6 | [*] Fixed removing contacts from suggestion dropdown
7 | [*] Fixed issue with updating signature
8 | [*] Fixed multiple issues with the use of code deprecated in PHP 8.2 and 8.3
9 | [*] Fixed issue with default calendar used by ActiveServer
10 | [*] Corrected issues with deleting the only tenant
11 | [*] Miscellaneous bugfixes and improvements
12 |
13 | [9.8.0]
14 | [+] Allow for updating passwords for linked email accounts
15 | [*] Security-related improvements for password encryption
16 | [*] Corrected an issue with removing collected contacts from a dropdown list
17 | [*] Corrected an issue that allowed unauthorized users to create email notes
18 | [*] Improved blocking user after multiple failed login attempts
19 | [*] Added logging of IPAllowList access errors
20 | [*] Improved XSS protection in mail viewer
21 | [*] Various fixes and improvements
22 |
23 | [9.7.8]
24 | [+] QR code for 2FA is now generated independently from external vendors
25 | [+] Added an option for disabling user in adminpanel
26 | [+] Added Note field for user in adminpanel
27 | [+] Auth tokens are now invalidated when updating account password on login
28 | [*] Fixed issue with saving sent mail for scheduled messages
29 | [*] Fixed issue with logging user into Rocket.Chat
30 | [*] Fixed issue with closing a task
31 | [*] Various fixes and improvements
32 |
33 | [9.7.7]
34 | [+] Public links in Files now handle folder renaming
35 | [+] IP-allowlist added to all products
36 | [+] Modules that change mail passwords now support ResetPassword feature
37 | [+] Attendee friendly names are now shown in ICS preview panel
38 | [+] Support for moving contacts to user-created address books
39 | [*] Fixed Sent folder usage within the Scheduled Messages feature
40 | [*] Updated German translation
41 | [*] Updated Russian translation
42 | [*] Fixed systemd-related issue in Debian package
43 | [*] Improved sorting of contacts
44 | [*] Implemented security fixes
45 |
46 | [9.7.6]
47 | [+] New refactored contact storage model
48 | [+] Error logs are now available in adminpanel
49 | [+] Time format settings are now correctly applied throughout the interface
50 | [+] Password reset functionality support added to all existing password change modules
51 | [*] Fixed issue with CalDAV/CardDAV links displayed in account settings
52 | [*] Corrected an issue with disabling a Sieve filter
53 | [*] Improved FailedLoginBlock limitations
54 | [*] Fixed issues with messages from Unified Inbox opened in a new window
55 | [*] Fixed issues with S3 file storage
56 | [*] Miscellaneous bugfixes and improvements
57 |
58 | [9.7.5]
59 | [*] Email attachments and files visual layout overhaul
60 | [*] SQL query sanitization reworked
61 | [*] Fixed issue with inline images
62 | [*] Fixed issue with non-ASCII filenames within TNEF attachments
63 | [*] Fixed issue with expanding TNEF attachments
64 | [*] Various fixes and improvements
65 |
66 | [9.7.4]
67 | [+] Grouped security-related modules in user settings
68 | [*] Improved rendering of Outlook message
69 | [*] Various fixes and improvements
70 |
71 | [9.7.3]
72 | [+] Autoresponder now supports enabling/disabling it by schedule
73 | [+] External system password encryption in password change and signup modules
74 | [*] Fixed various issues with recurring tasks and events
75 | [*] Fixed issue with displaying multiline text in event ICS preview
76 | [*] Fixed issue with importing ICS containing international characters
77 | [*] Fixed issues with deprecated code in Nextcloud integration app
78 | [*] Docker images updated to correct issues with DAV access
79 | [*] Outlook Sync documentation revised (Aurora only)
80 | [*] Various fixes and improvements
81 |
82 | [9.7.2]
83 | [+] Added password reset support for password change via POPPASSD
84 | [+] Added multi-line support for Location field in Calendar
85 | [+] Added support for path-style requests in S3 file storage modules
86 | [*] Fixed issue with renaming folders when IgnoreImapSubscription was enabled
87 | [*] Corrected issue with cPanel integration
88 | [*] Various bugfixes and improvements
89 |
90 | [9.7.1]
91 | [+] Event appointments can now be added via CalDAV (WebMail Pro / Aurora Corporate)
92 | [+] In Files, selection is now cleared when clicking empty area
93 | [+] Removing logs older than N days is now configurable, RemoveOldLogsDays in config.json file
94 | [+] Added PHP-FPM in Debian/Ubuntu packages in addition to PHP as Apache module
95 | [+] Fastpanel integration
96 | [*] Updated various JavaScript libraries used as dependencies, known vulnerabilities removed
97 | [*] Code refactoring, PhpStan level 2 compliance maintained
98 | [*] Device management in 2FA module rewritten
99 | [*] Fixed various data encryption issues
100 | [*] Corrected issues with accepting invitations from Google Calendar (WebMail Pro / Aurora Corporate)
101 | [*] Fixed issues with displaying larger messages in Notes
102 | [*] Corrected issues with calendar sharing (Aurora Corporate)
103 | [*] Redesigned reminders functionality in shared calendars (Aurora Corporate)
104 | [*] Corrected issue with navigating in Month view of calendar (WebMail Pro / Aurora Corporate)
105 | [*] Fixed issues with recurring tasks length (WebMail Pro / Aurora Corporate)
106 | [*] Fixed DAV browser plugin incompatibility with PHP 8.2
107 | [*] Improved pasting from MS Excel, with borders retained
108 | [*] Corrected an issue with DAV update in cPanel installer (WebMail only)
109 | [*] Corrected various issues with exporting contacts
110 | [*] Grouping contacts improved, contacts from custom address books can now be included
111 | [*] Files status bar redesigned
112 | [*] Quasar 2 and VueJS 3 are now used in admin panel
113 | [*] German translation overhaul
114 | [*] Various fixes and improvements
115 |
116 | [9.7.0]
117 | [+] Password reset feature added for cPanel
118 | [+] User signup added for Plesk and DirectAdmin
119 | [+] Emojis support added in Sieve filters
120 | [+] Default reminders for calendar events
121 | [+] Lifetime option added to public links in files storage
122 | [+] RocketChat 5.* full support (Aurora only)
123 | [+] Flexible RocketChat account name mapping
124 | [*] Tenant-level adminpanel interface rewritten
125 | [*] Fixed DAV compatibility issue with PHP 8.2
126 | [*] Fixed expanding attachments in messages opened in separate window/tab
127 | [*] Fixed issue with custom message sorting
128 | [*] Fixed issue with ReCAPTCHA missing on signup page
129 | [*] Fixed issue with DAV access in some configurations
130 | [*] Fixed issue with password encryption for RocketChat (Aurora only)
131 | [*] Debian packages configuration revised for compatibility
132 | [*] Fixed issues with DAV in Debian packages
133 | [*] IframeApp module refactored
134 | [*] Miscellaneous bugfixes
135 |
136 | [9.6.1]
137 | [+] Tenant adminpanel rewritten
138 | [+] EnableFailedLoginBlock setting now affects superadmin user as well
139 | [*] Fixed LDAP change password issue with PHP 8.1
140 | [*] Corrected an issue with creating Mail.config.json file
141 | [*] Fixed issue with scrollbar in log viewer
142 | [*] Updated the Chinese-Simplified translation
143 | [*] Updated the Dutch translation
144 | [*] Various bugfixes
145 |
146 | [9.6.0]
147 | [+] Storing PGP keys in team contacts
148 | [+] Dark theme
149 | [+] Unsubscribe functionality
150 | [*] EnableFailedLoginBlock option is now turned on by default
151 | [*] cPanel installer updated to support the latest version of cPanel
152 | [*] Various bugfixes
153 |
154 | [9.5.2]
155 | [*] Fixed issues with sharing files and address books with Team
156 | [*] Fixed issue with moving files from subfolder to root folder
157 | [*] Fixed multiple issues with document editing by OnlyOffice (Aurora Corporate, Aurora Files)
158 | [*] Fetchers functionality rewritten (MailSuite Pro, Aurora Corporate all-in-one)
159 | [+] Plesk package is now available for Aurora Corporate
160 | [*] Minor bugfixes
161 |
162 | [9.5.1]
163 | [*] Fixed the problem of sharing the personal address book (Aurora Corporate, Aurora Files)
164 |
165 | [9.5.0]
166 | [+] Sharing address books (Aurora Corporate, Aurora Files)
167 | [+] Multiple address books supported, address book management is enabled by default (WebMail Pro, Aurora Corporate, Aurora Files)
168 | [*] Office document editor and viewer now fully support OnlyOffice v7 with JWT protection enabled
169 | [*] Files under "Shared with me" are now listed fully, regardless of whether they're in root folder
170 | [*] "Use SSL" options are added under "IMAP and SMTP hosts for external mail clients" section of mail server settings
171 | [*] IncludePasswordInProfile setting for iOS profile is now working as expected
172 | [*] DAV compatibility issue with PHP 8 is corrected
173 | [*] DAV stacktrace is now disabled by default for security reasons
174 | [*] Various optimizations made for MySQL queries affecting installations with large number of users
175 | [*] MTA versions refactored, it's now possible to upgrade MTA installation by updating just the web components
176 | [*] Miscellaneous bugfixes
177 |
178 | [9.4.1]
179 | [*] Corrected an issue with downloading attachments
180 |
181 | [9.4.0]
182 | [+] Sharing encrypted files is now supported
183 | [*] Database indexing refactored to boost performance on installations with large number of users
184 | [*] Improved check for MySQL native driver
185 | [*] Corrected multiple issues in shared calendars affecting reminders and invitations
186 | [*] Translation updates
187 | [*] Various bugfixes
188 |
189 | [9.3.3]
190 | [+] cPanel installer for v9 is made available
191 | [*] Fixed issue with database prefix used with au_adav_sharedfiles table
192 | [*] Corrected issue with mails not sent out by MailScheduledMessages module
193 |
194 | [9.3.2]
195 | [+] Implemented user groups and sharing files with groups of users
196 | [+] Implemented Team user group, for file sharing purposes, automatically populated with Team contacts
197 | [*] Contacts and users management refactoring
198 | [*] IMAP and SMTP hosts for external mail clients are now used for iOS profile
199 | [*] Mobile layout for Onlyoffice is automatically enabled when viewing attachments from a smartphone browser
200 | [*] Database migration rewritten, UTF8 is now used as a default charset for database access
201 | [*] Corrected multiple issues with handling reminders
202 | [*] Corrected exception handling in MailScheduledMessages module
203 | [*] Fixed issue with selecting folder for filters
204 | [*] Fixed issues with creating and deleting tenants
205 | [*] Fixed various issues with files sharing functionality
206 | [*] Miscellaneous bugfixes
207 |
208 | [9.3.1]
209 | [*] Fixed various issues with files and folders sharing
210 | [*] Corrected issues with deleting users, mailservers and email accounts
211 | [*] Dropbox integration issue corrected
212 | [*] GetAuthenticatedAccount method in Core module updated
213 | [*] Fixed encoding-related issues in Create/Update Tables
214 | [*] Corrected PHP 8.* compatibility issues
215 | [*] Translations corrected in IframeApp module
216 | [*] HorizontalLayoutByDefault setting in MailWebclient is now treated correctly
217 |
218 | [9.3.0]
219 | [+] File sharing rewritten: permissions system improved, shared files can be moved and renamed, recipient can leave share (Aurora Corporate and Aurora Files only)
220 | [*] Fixed "Over quota" issue when setting user space limit for Files
221 | [*] Quota-related fixes in MTA versions
222 | [*] Miscellaneouse bugfixes
223 |
224 | [9.2.0]
225 | [+] Search in multiple folders
226 | [+] Multiple themes support in Chat (Aurora Corporate / Aurora Files only)
227 | [*] Various bugfixes in Mail and Calendar modules
228 |
229 | [9.1.1]
230 | [*] Mail login form bugfixes and layout improvements
231 | [*] Fixed password issue in two factor authentication module
232 | [*] Closed XSS vulnerability in Files
233 | [*] Various bugfixes
234 |
235 | [9.1.0]
236 | [+] Rocket.Chat integration (Aurora Corporate / Aurora Files only)
237 | [*] Corrected issues with user signup on cPanel
238 | [*] Various bugfixes
239 |
240 | [9.0.1]
241 | [+] Web-based migration script from v8
242 | [*] Various bugfixes
243 |
244 | [9.0.0]
245 | [+] Laravel Eloquent is now used for database layer
246 | [+] Migration script from EAV tables of v8 to v9 database structure
247 | [+] Admin panel redesigned with Vue.js framework
248 | [*] Stronger cryptography for storing passwords in database
249 | [*] Modules included into the product by default reviewed for compatibility
250 | [*] DirectAdmin and Plesk installers updated
251 |
252 | [8.8.0]
253 | [+] IP whitelisting added for Recaptcha
254 | [+] EnableFailedLoginBlock records are now deleted after they expire
255 | [+] Added setting for hiding Logout link
256 | [*] Fixed issue with displaying angle brackets in server error messages
257 | [*] Fixed issue with adding contacts outside suggested list
258 |
259 | [8.6.2]
260 | [*] Fixed an issue with adding message recipients
261 |
262 | [8.6.0]
263 | [*] Various bugfixes
264 |
265 | [8.5.3]
266 | [+] ContentSecurityPolicy feature revised, modules can add their handlers for it
267 | [+] 2FA revised, security keys and backup codes are now supported
268 | [*] Fixed an issue with double quote character in Sieve rules
269 | [*] Fixed an issue when pressing R added that character to the reply
270 | [*] Fixed an issue with displaying inline images with "image/jpg" content type
271 | [*] Fixed an issue with link URL getting replaced upon changing visual style
272 | [*] Fixed group names autocompletion issue
273 | [*] Fixed visual issue with Sieve redirect feature
274 | [*] Fixed an issue with plaintext part of message cut off
275 | [*] Minor bugfixes and improvements
276 |
277 | [8.5.2]
278 | [+] Added lang parameter to SSO entry point
279 | [+] Added ability to insert template into HTML editor on compose screen
280 | [*] Data directory protection improved
281 | [*] "Update configuration" now handles main config.json file as well
282 | [*] Dropbox integration updated
283 | [*] Various bugfixes
284 |
285 | [8.5.1]
286 | [+] MultipleFilesUploadLimit setting is added
287 | [+] Improvements related to storing PGP keys in Contacts
288 | [+] VCF export includes contact groups now
289 | [*] Various bugfixes
290 |
291 | [8.5.0]
292 | [+] Added conditional forwarding option for Sieve filters
293 | [+] Added an option for disabling RTL rendering
294 | [*] Fixed issue with IMAP and SMTP hosts for external mail clients specified when creating mail server
295 | [*] Various bugfixes
296 |
297 | [8.3.20]
298 | [*] Minor bugfixes
299 |
300 | [8.3.19]
301 | [*] Minor bugfixes
302 |
303 | [8.3.18]
304 | [+] Storing last login info for user account
305 | [+] Added DAV support for login matching username rather than email
306 | [+] X-Originating-IP header name is now configurable
307 | [+] Branding module now allows for enabling custom Iframe
308 | [+] ReCaptcha functionality configuration extended
309 | [+] Users counter added in admin interface
310 | [*] Mail login form issues fixed
311 | [*] PHP 7.3 compatibility issues corrected
312 | [*] User activity logs were not updated on login
313 | [*] External links corrected in mobile version
314 |
315 | [8.3.16]
316 | [+] S3 storage is supported for personal and corporate files
317 | [*] Recaptcha enabled in mobile version now
318 | [*] Fixed issue with Recaptcha used in mail login form
319 | [*] Fixed issue with sending mail in mobile version using linked account
320 | [*] Fixed issue with clicking external link in mobile version
321 | [*] Public links to files are now correctly retained upon moving the file
322 | [*] For shared files, owner is now displayed correctly
323 | [*] Various bugfixes
324 |
325 | [8.3.15]
326 | [*] French and Spanish translations updated
327 | [*] Mail login form corrected for mobile version
328 | [*] Corrected handling of IMAP quota values exceeding Int32 limit
329 | [*] Fixed issue with collected addresses not suggested in autocompletion
330 | [*] Fixed issue with contacts duplication in global address book
331 | [*] Fixed issue with sharing contacts
332 | [*] Fixed issue with LogStackTrace setting being ignored
333 | [*] Minor bugfixes
334 |
335 | [8.3.14]
336 | [*] BUG - Remote Stored XSS in attachment’s name
337 | [*] BUG - Sometimes Reply All adds sender in CC field
338 | [*] BUG - Attachments are not attached on compose
339 |
340 | [8.3.10]
341 | [*] Various bugfixes
342 | [+] User activity logs: password change
343 | [*] Closed CVE-2019-16238 vulnerability
344 |
345 | [8.3.9]
346 | [+] Password changes are recorded in user activity log
347 | [*] Autocreating accounts fixed for mail login form
348 | [*] LDAP password change plugin updated
349 | [*] Various bugfixes
350 |
351 | [8.3.8]
352 | [+] Implemented HTTP Digest Authentication on DAV-server
353 | [*] Various bugfixes
354 |
355 | [8.3.7]
356 | [+] Methods of handling contacts and groups rewritten and improved
357 | [+] OnlyUserEmailsInIdentities setting that allows only user emails in identities
358 | [+] AlwaysTryUseImageWhilePasting setting is added
359 | [*] Web API of Core module for admin panel entities management improved
360 | [*] Various bugfixes
361 |
362 | [8.3.6]
363 | [*] Message parsing performance is improved (PHP)
364 | [*] Prefetch for messages is improved
365 | [*] Reducing the amount of memory leaks in JS
366 | [+] Security header for all cookies
367 | [+] Delete all users that belong to the mail server to be deleted.
368 | [+] SieveCheckScript setting is added
369 | [*] Minor bugfixes
370 |
371 | [8.3.5]
372 | [+] Authorization header adjustments in .htaccess file
373 | [*] Minor bugfixes
374 |
375 | [8.3.4]
376 | [*] Various bugfixes
377 | [*] Minor keyboard shortcuts improvements
378 | [*] IE bugfixes
379 |
380 | [8.3.3]
381 | [+] Ability to store AuthToken in database
382 | [+] Mail module authentication form added
383 | [+] Adding custom JS and HTML supported
384 | [*] Update configuration bugfix
385 | [*] Creating new note fixed
386 | [*] Accessing folder via public link fixed
387 | [*] DAV access issue corrected
388 |
389 | [8.3.2]
390 | [*] Minor bugfixes
391 |
392 | [8.3.1]
393 | [*] Various bugfixes
394 |
395 | [8.3.0]
396 | [+] Custom mail sorting option
397 | [+] cPanel filters, autoresponder, forwarding, aliases
398 | [+] cPanel integration - creating and deleting accounts with admin panel
399 | [+] Sand theme inspired by default one of v7
400 | [+] Master password plugin
401 | [*] New Outlook Sync plugin for Aurora Corporate
402 | [*] Contacts autocompletion includes groups
403 |
404 | [8.2.19]
405 | [*] Issue with focus on mail search bar corrected
406 | [*] Minor bugfixes
407 |
408 | [8.2.18]
409 | [*] Various bugfixes
410 |
411 | [8.2.17]
412 | [*] Change password functionality rewritten
413 | [*] Miscellaneous bugfixes and improvements
414 |
415 | [8.2.16]
416 | [*] DAV libraries and migration scripts updated
417 |
418 | [8.2.15]
419 | [+] OverrideUserSettings module
420 | [+] Sharing Files in Aurora
421 | [+] Horizontal layout in WebMail interface
422 | [+] OpenPGP implemented in mobile version
423 | [*] Various bugfixes
424 |
425 | [8.2.11]
426 | [+] ReCaptcha support added
427 | [+] Self-signup added for WebMail/Aurora running on cPanel
428 | [+] Mail import/export plugin is available
429 | [*] Tasks are now sorted by date correctly
430 | [*] Various bugfixes
431 |
432 | [8.2.9]
433 | [*] Minor bugfixes
434 |
435 | [8.2.8]
436 | [*] Fix for issue with handling Notes folder
437 |
438 | [8.2.7]
439 | [*] Two factor authentication and DAV conflict fixed
440 |
441 | [8.2.6]
442 | [*] Bug fixes
443 |
444 | [8.2.5]
445 | [*] Various bugfixes
446 |
447 | [8.2.4]
448 | [+] STARTTLS support added for ManageSieve integration
449 | [+] Templates added for mail
450 | [+] Two factor authentication module is available for installing
451 | [*] "Allow handling email links" option is now available by default
452 | [*] Inclusion of MailSo library rewritten to correct IDN-related issue
453 | [*] Used different obfuscation algorithm to work around detecting sensitive files as malware
454 | [*] Fixed issues with setting cookie when installation accessed via index.php file
455 | [*] Fixed issue with inability to update mail server settings
456 | [*] Major refactoring resulting in performance boost
457 | [*] Miscellaneous bugfixes
458 |
459 | [8.2.3]
460 | [*] Fixed authentication issue when accessing calendar or address book via direct DAV URL
461 | [*] View button was missing for MS Office files attached to email messages
462 | [*] Folders in Files module were not sorted alphabetically
463 | [*] In cPanel, user could not log into email account after administrator logged into it
464 | [+] Create/Update tables tool is available in Database Settings screen of admin area
465 |
466 | [8.1.4]
467 | [+] Current Beta release.
468 |
469 | [8.1.0]
470 | [+] Bugfixes.
471 |
472 | [8.0.0]
473 | [+] Beta release on Aurora platform.
474 |
475 | [7.7.5]
476 | [+] Added SQLite support (experimental)
477 | [+] New templating feature, assigning folders for storing templates (webmail.allow-template-folders)
478 | [*] Patch for datetime calculations issues in PHP version prior to 5.3.9
479 | [*] Bugfixes.
480 |
481 | [7.7.4]
482 | [+] Tenants REST API was updated.
483 | [+] Language autodetection is now available as a configuration option.
484 | [*] Fixed bug with availability of Helpdesk client screen.
485 | [*] Correct processing of multiple IMAP-quota values (webmail.default-imap-quota-name).
486 | [*] Fixed bug with writing "last login" information on first login.
487 | [*] French translation updated.
488 | [*] Bugfixes.
489 |
490 | [7.7.3]
491 | [*] Fixed External Services configuration saving bug.
492 | [*] Fixed missing server name in autodiscover.
493 |
494 | [7.7.2]
495 | [+] Ability to hide "Logout" link (webmail.hide-logout)
496 | [+] Added login method for cPanel, works for webmail screen and client screen of the Email account list for CPanel
497 | [*] An explanation for Android Client in Settings was added.
498 | [*] Bugfixes.
499 |
500 | [7.7.1]
501 | [*] Fix for a bug which prevented webmail from functioning when NOTICES are enabled in PHP.
502 |
503 | [7.7.0]
504 | [*] Language is no longer reset after logging into account.
505 | [+] Use of email in shared calendars names is now optional (calendar.add-email-to-shared-calendar-name setting).
506 | [+] Secure attribute is set for p7auth and p7token cookies now.
507 | [+] Session cookies in AdminPanel have HttpOnly attribute now.
508 | [*] Use Specified Login and Use SSL options in Default settings are used now.
509 | [*] Admin password encryption is stronger now. Password reset is required when upgrading.
510 | [*] XML Parser extension missing is now detected by installer correctly.
511 | [*] Ability to delete or upload any file via Files Web API or WebMail installer was removed.
512 | [+] Advanced login option (login.advanced setting).
513 | [+] Ability to send notifications if events were changed (calendar.notification-enabled setting).
514 | [+] Ability to attach files to events in calendar (calendar.attach-file-to-event-enabled setting).
515 | [+] Forwarding messages as attachments.
516 | [*] "View all mails with this contact" in Starred folder searched for all the messages of the selected contact, not just Starred.
517 | [*] Fixed sorting errors in autocompletion.
518 | [*] Standard layout improved on mobile devices.
519 | [+] REST API now allows for managing channels and tenants.
520 | [*] Fixed bug with white screen while opening a message in a new window.
521 | [+] Calendar reminders improved.
522 | [+] Slovak language added.
523 | [*] French translation updated.
524 | [*] Considering IMAP-quotas when creating account.
525 | [*] Image can be a link in Chrome, Firefox and IE 11 now.
526 | [*] Any port can be used as SSL now.
527 | [*] Bugfixes.
528 |
529 | [7.6.10]
530 | [+] Links to applications: File Storage applications in Settings/Files and Contacts & Calendars Sync for Android application in Settings/Mobile Sync.
531 | [*] Better sorting in Files.
532 | [*] SabreDAV upgrade - PHP7 compatibility.
533 | [*] Events now display correctly if they have UTF-8 characters in .ICS file.
534 | [*] Focus is now set correctly on Compose screen opening.
535 |
536 | [7.6.9]
537 | [*] Optimization and bugfixes
538 |
539 | [7.6.8]
540 | [+] Logs older than 1 day are deleted
541 | [+] AJAX API new methods - FileInfo, GetDavServerUrl
542 | [*] Bugfixes
543 |
544 | [7.6.7]
545 | [*] Compose screen new look
546 | [*] Bugfixes
547 |
548 | [7.6.6]
549 | [+] Global Address Book now available in WebMail Pro
550 | [*] Bugfixes
551 |
552 | [7.6.5]
553 | [*] Bugfixes
554 |
555 | [7.6.4]
556 | [*] Bugfixes
557 | [*] Mail compose editor peformance boost
558 |
559 | [7.6.3]
560 | [+] (API) The ability to integrate other apps in IFRAME within WebMail Pro/Aurora
561 | [+] (API) Upload attachments and files with HTTP PUT method
562 | [+] (API) Master password plugin for making API calls in user accounts without knowing their passwords
563 | [*] Windows Phone support in mobile version
564 | [*] Bugfixes
565 |
566 | [7.6.2]
567 | [*] Bugfixes
568 |
569 | [7.6.1]
570 | [*] Bugfixes
571 | [*] Folder list optimizations
572 |
573 | [7.6.0]
574 | [+] 2-Step Verification (Two Factor Authentication)
575 | [+] Authentication via social networks (Google, Facebook, Twitter)
576 | [+] User invitations via social networks (Aurora only)
577 | [+] Users without e-mail module (Aurora only)
578 | [+] Built-in audio/video player for YouTube, Vimeo, SoundCloud
579 | [*] Google Drive and Dropbox cloud storage redesigned
580 | [*] "Share calendar" screen redesigned (Aurora only)
581 | [+] CC/BCC in HelpDesk replies (Aurora only)
582 | [*] Improved performance in IMAP accounts with lots of folders
583 | [*] API refactored (unified naming convention, etc)
584 | [+] More callbacks for custom plugins
585 | [*] Bugfixes
586 |
587 | [7.5.0]
588 | [+] New compose screen, now in popup which can be minimized
589 | [+] New design of tooltips
590 | [+] Default identity setting
591 | [+] POST login API enhanced
592 | [+] REST API for managing domains and users
593 | [+] Option to automatically redirect to HTTPS
594 | [+] Browser caching for improving performance (makes opening in a new window faster)
595 | [+] “Manage folders” screen performance optimization for large number of folders
596 | [+] settings.xml autocreation
597 | [+] “Account password change via LDAP” plugin
598 | [+] In a thread’s top message, all members of all messages in the thread are now listed, not only those specified in the top message itself
599 | [+] VCF/CSV import of contacts with drag-n-drop from your desktop
600 | [+] New calendar sharing interface (Aurora only)
601 | [+] Adding .ics invitations to calendar (Pro only)
602 | [+] Bugfixes
603 |
604 | [7.4.2]
605 | [+] AdminPanel: Option to create users without checking on IMAP
606 | [+] AdminPanel: Option to set port for external IMAP/SMTP server names (for iOS profiles) (Pro)
607 | [+] settings.xml: RedirectToHttps option
608 | [+] config.php: X-Frame-Options to prevent clickjacking attacks
609 | [+] Import .eml files in a mail folder with drag-n-drop
610 | [+] Import .ics files in calendar with drag-n-drop or calendar menu (Pro)
611 | [+] Export and import contacts as .vcf file (vCard)
612 | [+] Improved sorting of mail threads
613 | [+] New keyboard shortcuts on compose screen
614 | [+] Folding multiple "Re:" into one in Subject field
615 | [+] Show the reason of failed attachment upload if the reason is "the file is too large"
616 | [+] Mail prefetch consumes less traffic and prefetches more types of emails
617 | [+] Performance improvements for large list of folders
618 | [+] "Attach" icon is now paperclip
619 | [+] Insert picture in Signature
620 | [+] Folder sorting when adding a new folder
621 | [+] Autodetection of user language (from browser settings)
622 | [+] Autodetection of user timezone when displaying public calendar (from browser settings) (Pro)
623 | [+] More accurate resizing
624 | [+] Localizable text of the iOS profile (Pro)
625 | [+] Italian translation update
626 | [+] 100+ bugfixes
627 |
628 | [7.4.1]
629 | [+] "New contact" button redesigned
630 | [+] License info added to all source code files
631 | [+] Favicon now shows unread e-mail count
632 | [+] "All" folder added to contacts (Aurora only)
633 | [+] MS Office documents viewer
634 | [+] mailto association tool in Settings
635 | [+] Admin panel allows for disabling webmail tab and selecting default tab
636 | [+] Bugfixes
637 |
638 | [7.4.0]
639 | [+] Export contacts to VCF
640 | [+] OpenPGP support (Pro)
641 | [+] Files storage (Pro)
642 | [+] Google Drive and Dropbox integration
643 | [+] New skins
644 | [+] Branding (custom logo) (Pro)
645 | [+] ownCloud Single-Sign-On
646 | [+] Desktop notifications on new message arrival
647 | [+] Show full headers
648 | [+] Copy messages via drag-n-drop (with Ctrl)
649 | [+] Bugfixes
650 |
651 | [7.3.0]
652 | [+] Mobile version (Pro)
653 | [*] Advanced search
654 | [+] "Open winmail.dat" plugin
655 | [+] "Open zip attachments" plugin
656 | [+] Show Importance status in message list
657 | [+] PostgreSQL support (experimental)
658 |
659 | [7.2.1]
660 | [*] Miscellaneous fixes and improvements
661 |
662 | [7.2.0]
663 | [*] New layout of compose.
664 | [*] New layout of message preview pane.
665 | [+] White skin (and skin selector).
666 | [*] Conversion of email addresses in To/CC/BCC to blue tags.
667 | [*] Attachment thumbnails in preview pane (available when PHP has GD extension enabled)
668 | [+] Highlighting links in HTML messages.
669 | [*] Add account on the same server made easier (Pro).
670 | [+] Fold/unfold folders.
671 | [+] Show how many items are selected for move to trash, spam.
672 | [+] Zip all attachments (available when PHP has zip extension enabled).
673 | [+] Replacement of your own email address with "me".
674 | [+] Folded thread highlighting if unread messages exist in thread.
675 | [+] Register webmail as mailto: handler.
676 | [+] Save replied messages to current folder setting.
677 | [+] "Email to this group" feature in Contacts.
678 | [+] Groups in autocomplete.
679 | [*] cPanel installer supports new cPanel.
680 | [+] Search allows for email:addr_1,addr2,addr_n syntax to search for multiple email addresses in headers at once.
681 |
682 | [7.1.1.1]
683 | [*] Bug fixes
684 |
685 | [7.1.1]
686 | [*] Bug fixes and misc. improvements
687 |
688 | [7.1.0]
689 | [*] Aurora release
690 | [*] All-new calendar module
691 | [*] Mail threading
692 | [*] "Starred" folder in Mail
693 | [*] Bug fixes and misc. improvements
694 |
695 | [7.0.2]
696 | [*] Right-to-left layout (for Arabic and Hebrew)
697 | [*] New fields for contacts (such as Skype ID)
698 | [*] Bug fixes and misc. improvements
699 |
700 | [7.0.1]
701 | [*] POPPASSD support
702 | [*] VCARD support
703 | [*] ICAL support
704 | [*] Integration documentation
705 | [*] API feature to show unread count of INBOX on any page of external app.
706 | [*] Multiple minor issues fixed.
707 |
708 | [7.0.0]
709 | [*] Frontend and backend for contacts and mail are rewritten from scratch, calendar currently stays in legacy mode
710 | [*] Support for POP3 accounts is discontinued
711 | [*] New interface skin and template-based layout
712 | [*] Substantial IMAP optimization
713 | [*] Memory consumption significantly reduced, memory limits of PHP should no longer cause issues
714 |
715 | [6.6.0]
716 | [*] Multiple minor issues fixed.
717 |
718 | [6.5.1]
719 | [*] WebMail is now compatible with PHP 5.2 (calendar and mobile sync will not be available).
720 | [*] Better error handling when server or connection error occurs.
721 | [*] Bug with displaying formatted dates fixed.
722 | [*] System folders now correctly detected in Gmail accounts.
723 | [*] Folder list of deleted account no longer displayed.
724 | [*] Fixed the approach for timezone-related calculations when displaying date and time information.
725 | [*] Multiple minor issues fixed.
726 |
727 | [6.5.0]
728 | [+] CardDAV for Address Book (enables syncing contacts on iPhone, etc)
729 | [*] New screen of Mobile Settings
730 | [+] Icons for .ics, .vcard attachments
731 | [+] Export to iCal
732 | [+] Per-user logging in a file (for debugging purposes, see labs.log.specified-by-user parameter in http://www.afterlogic.com/wiki/Advanced_configuration_via_config.php_file_(WebMail_Pro_6_PHP) )
733 | [*] Auto-checkmail no longer interferes with other operations
734 | [*] Faster prefetch of e-mails
735 | [+] Search in e-mails includes СС
736 |
737 | [+] Cancel search
738 | [*] IMAP quota indicator is more accurate
739 | [+] Periodic calendar refresh
740 | [*] More accurate counting of unread e-mails
741 | [*] Multiple minor issues fixed.
742 |
743 | [6.4.3]
744 | [*] Multiple minor issues fixed.
745 |
746 | [6.4.2]
747 | [*] Calendar backend has been modified, now WebMail uses API of DAV server which allows for improving calendar performance.
748 | [*] Multiple minor issues fixed in calendar client of WebMail.
749 |
750 | [6.4.1]
751 | [*] PHP: Saving calendar settings is fixed.
752 | [*] JS: Saving data in account settings tabs is fixed.
753 |
754 | [6.4.0]
755 | [+] PHP: CalDAV storage is used for calendar, database storage is no longer supported.
756 | [+] PHP: Syncing calendars with mobile devices via CalDAV protocol. Funambol sync is discontinued.
757 | [+] PHP: Profiling of mail and calendar accounts for iOS devices
758 | [*] PHP: Outdated code purged.
759 | [-] PHP, JS: Spellcheck and PDA interface version removed.
760 |
761 | [6.3.10]
762 | [*] Time fixed in Last login information.
763 | [*] Feature of adding subadmins without domain (IsOwner = true). When removing such subadmin, all domains and users are removed as well (POA).
764 | [+] JS, PHP: Global address book tab in contacts list.
765 | [*] JS: Request for frequently used contacts was causing endless loop in Google Chrome.
766 | [+] PHP: Storage quota for MailSuite.
767 | [*] PHP: Disabling address book screen was ignored from calendar screen.
768 | [*] JS: Forward button is added for message from Sent Items folder opened in new window.
769 | [+] DB: Two database indexes are added (use_frequency, view_email) to speed up handling contacts.
770 | [*] CSS: fixed a crash which occured when opening WebMail right after MSN website.
771 |
772 | [6.3.9]
773 | [+] CSS, JS: Icon for PPT and PPTX files added for displaying in attachments list.
774 | [*] JS: Check mail button freezing is fixed.
775 | [*] JS: Mails were not removed from Drafts folder upon sending, fixed.
776 | [+] JS, PHP: Option for exporting contacts is added.
777 | [+] JS, PHP: Information on last login date/time displayed at login page.
778 | [+] JS: Outdated browser alert issued prior to redirecting to PDA version (in case if xmlHttpRequest object cannot be created).
779 | [+] JS: Autocompletion on login page.
780 | [+] JS: Fixes for Persian and Romanian translations.
781 |
782 | [6.3.8]
783 | [*] PHP: Fixed detecting inline attachments via IMAP body structure.
784 | [*] PHP: Fixed key validity check.
785 | [*] PHP: Additional processing of server response is performed when searching for Message-ID and locating matching UID.
786 | [-] PHP: "Use specified login" option for SMTP authentication has been removed from default domain settings as its actually never used there.
787 | [*] PHP, JS: System setting added for disabling autosave to Drafts.
788 | [*] JS: If first autosave attempt is unsuccessful, autosave is cancelled.
789 | [*] JS: In case if autosave is in progress when send is performed, sending is delayed till autosave is over.
790 |
791 | [6.3.7]
792 | [*] PHP: Non-system folders are considered when syncing folders, provided they're made default ones via plugin.
793 | [+] PHP: Configuration option added for creating required folders on each login.
794 | [*] PHP: Method added for moving messages in IMAP using Append, callback allows for modifying a message.
795 |
796 | [6.3.6]
797 | [+] PHP, JS: Special folder access mode is added for IMAP, when that mode is enabled folder subscription is ignored and all the folders are always treated as subscribed. The Subscribed column in Manage Folders screen is blocked.
798 | [*] PHP: Fixed issue with sorting system folders which caused their duplication in some cases.
799 |
800 | [6.3.5]
801 | [*] JS: Fixed reply button in horizontal layout view.
802 |
803 | [6.3.4]
804 | [*] PHP: Updates in POP3 module in order to comply with nodb mode.
805 | [*] JS: Login JavaScript error fixed.
806 |
807 | [6.3.3]
808 | [*] JS: Print function didn't work in view message in 'new window' mode
809 | [*] JS: Autosave in compose screen in pop3 accounts closed compose window.
810 |
811 | [6.3.2]
812 | [*] JS: Fixed switching between html and plain modes in compose screen when signature is on.
813 |
814 | [6.3.1]
815 | [*] PHP: Links like www.domain.com were opened incorrectly in web browser.
816 | [*] JS: Fixed filtering loop of AJAX requests for non-default accounts.
817 | [*] JS: Resizer position between folders pane and message list was not saved, resizing caused content selection, both the issues are fixed.
818 |
819 | [6.3.0]
820 | [+] PHP, JS: Support and managing of forwards, filters and vacation messages via Sieve.
821 | [*] PHP: Improved plugin system, allows for easy adding of plugins for changing passwords, forwards, autoresponders.
822 | [*] PHP, JS: Opening published calendar is fixed.
823 | [*] PHP, JS: Sorting by date is always applied even if the server doesn't support sorting mails.
824 | [+] PHP, JS: When composing messages, they are autosaved to Drafts periodically.
825 | [*] PHP: Additional setting which allows for better date sorting.
826 | [*] PHP: Fixed issue in Compose screen which resulted in error on email autcompletion with address book disabled.
827 | [*] PHP: Fixed issue with adding attachments caused by json_encode function not available in PHP.
828 | [*] PHP: Improved hyperlinks highlight in message.
829 | [+] JS: Right-mouse button menu in message list added.
830 | [*] JS: Fixed error on using color palette in IE9.
831 | [*] JS: In Manage Folders screen, real folder names are displayed. If a particular folder is used as a system one, that is indicated next to folder name (e.g.: used as Sent Items).
832 | [*] JS: Email autocompletion in Compose screen does not cover emails which are present in To/Cc/Bcc fields.
833 | [*] JS: When replying to message which has email address in Reply-To equal to one in From, the latter is used since it might have display name we need to use.
834 | [*] JS: When closing WebMail window, all the windows invoked by it are closed as well.
835 | [*] JS: For Drafts folder, total number of messages is displayed, while for other folders number of unread mails is displayed.
836 | [*] JS: Message list was selected on drag'n'drop, fixed.
837 | [*] JS: When message is sent from a separate window, that window is closed.
838 | [*] JS: When forwarding message in new windows, attachments are no longer lost.
839 | [*] JS: Error which occured when using integration to enter any other screen than message list, is now fixed.
840 | [*] PHP, JS: Many minor improvements and fixes.
841 |
842 | [6.2.0]
843 | [*] PHP: AdminPanel was not displaying list of domains when it exceeded certain number of records.
844 | [+] PHP: Error message added for login screen, it's shown when mail server is not accessible.
845 | [+] PHP: Sieve plugin added.
846 | [*] PHP: Fixed error of saving calendar settings when certain time format used.
847 | [*] JS: Color palette couldn't be opened in Signature editor.
848 | [*] JS: New Message screen was not using Use Signature setting.
849 | [*] JS: When replying to message, signature was added after quoting, now it's before quoting.
850 | [*] JS: On adding filter, "no filters specified yet" text was still displayed.
851 | [-] JS: Outdated code for implementing demo account is removed.
852 |
853 | [6.1.8]
854 | [+] PHP, .NET, JS: Identities support
855 | [*] JS: Significantly simplified check mail, now it goes much faster
856 | [*] PHP: Plugin system functionality extension
857 | [*] PHP: Lots of small internal changes.
858 |
859 | [6.1.7]
860 | [*] PHP: "New user" button added in AdminPanel.
861 | [*] PHP: added hook and usage example for Global Signature plugin.
862 |
863 | [6.1.6]
864 | [*] PHP: Occasionally, inline images were not added for filename-specific reasons.
865 | [*] PHP: Verbose error messages for POPPASSD plugin.
866 | [*] .NET: Layout issues fixed for new window opened with double click.
867 |
868 | [6.1.5]
869 | [*] JS: It's possible to show new password field when users aren't allowed to change settings.
870 | [*] JS: Changing password issue corrected.
871 | [+] .NET, PHP: Additional setting which can forbid adding new accounts on login.
872 | [*] PHP: Date formatting fixed for exporting to iCal.
873 | [*] .NET: Sorting in IMAP corrected.
874 |
875 | [6.1.3]
876 | [+] PHP: New plugin available for changing user password via poppassd.
877 | [*] PHP: When opening a message in separate window and doing Forward, message body was empty.
878 | [*] JS: Current folder is excluded from folders list in "Move to folder" dropdown.
879 | [*] JS: If deleting messages or doing checkmail right before viewing message, that message could become unread again, and deleted messages could become visible again for a while.
880 | [*] JS: Sorting by attachments and flags is removed for IMAP since this is not supported by servers.
881 | [*] JS: window.opener related checks were removed, they were causing glitches in Compose and Quick Reply modes.
882 | [*] JS: Quick Reply wasn't working in new window due to animation.
883 | [*] JS: Issues with displaying attachments in IE6,7.
884 | [*] JS: The "Autocheck mail every" setting was not applied unless the window is refreshed
885 | [*] JS: After Check mail, mail deleted by other client was still there
886 | [*] JS: In Compose mode, when choosing contacts by clicking To, CC, BCC, area for adding attachments was visible underneath the contacts list.
887 | [*] JS: HTML editor was rendered incorrectly in IE6,7.
888 |
889 | [6.1.2]
890 | [+] PHP: Finnish translation added.
891 | [*] PHP: Bugfix related to POP3 accounts (errors when creating folders).
892 | [+] PHP, JS: Corrections for "Forwarded" flag detection.
893 | [*] JS: Decection for number of previous messages when replying/forwarding (Re[x], Fwd[x]).
894 |
895 | [6.1.1]
896 | [+] PHP: amr2wav_convert.sh script for convert .amr files to .wav added to /data/convert/ directory
897 | [*] JS: Fixed issue of message list sorting in IMAP mode
898 |
899 | [6.1.0]
900 | [+] PHP: Voice Message support (.AMR playback)
901 | [*] PHP: Functions names have been refactored.
902 | [*] JS: New look for attachments pane.
903 | [*] JS: Was not possible to use Quick Reply for sending mail to yourself. Fixed.
904 | [*] PHP: Incorrect check for external images added.
905 | [+] JS: Quick Reply pane is animated when sending message.
906 | [*] PHP: Accounts are now email-based. For accounts added in Advanced Login mode, subsequent logins don't require this mode.
907 |
908 | [6.0.3]
909 | [*] PHP: Plesk integration is operational now.
910 | [*] PHP: Mailadm and subadmins passwords are hashed.
911 | [*] PHP: Bugfix: incoming mail port was used for SMTP in Advanced Login mode.
912 |
913 | [6.0.2]
914 | [*] JS: Corrections for blinking favicon used as notification for new messages.
915 | [*] JS: Corrections related to precaching functionality.
916 | [+] PHP, .NET, JS: Forwarded flag is back.
917 | [*] PHP: Corrections for dates in calendar.
918 | [*] PHP: Fixed issue of creating and displaying folders with international names.
919 | [*] JS: Cursor autofocus is corrected on login form.
920 | [*] PHP: Default domain was not saving Global Address book setting, fixed.
921 | [*]: .NET: File uploader fixed.
922 | [*] JS: When Sent Items folder is selected, Forward button became available.
923 | [*] PHP: Correct processing of OverrideSettings in domain options.
924 | [*] PHP: Fixed issue of sorting folders in Manage Folders screen (IdParent was not set correctly for folders when adding to database)
925 | [*] PHP: Fixed issue of search in all mail folders in POP3
926 | [+] PHP, .NET, JS: Added XLIST support (gmail.com)
927 | [+] PHP, .NET: Fixed issue of assigning system folders (previously, it wasn't possible to set system assignment for a subfolder).
928 | [+] PHP, .NET, JS: It is now possible to configure AdvancedLogin via settings.xml file.
929 | [*] .NET: Several fixes for hMailServer integration.
930 | [*] .NET: Fixed error of searching for users in AdminPanel.
931 |
932 | [6.0.1]
933 | [*] JS, PHP, .NET: fix for adding attachments (file size limit was ignored).
934 | [*] JS: Fix for changing skin in user account settings (the proper skin didn't always apply).
935 | [*] JS: The problem of missing message list pages switcher is fixed.
936 | [*] PHP, .NET: Autocompletion of email addresses is corrected. Email addresses added to autocompletion list when sending mail are no longer displayed in Contacts screen.
937 | [*] PHP: XML data packets encoding is fixed, headers and attachment names are displayed correctly.
938 | [*] .NET: Fix for fetching mails in All/Nee Messages and All/New Headers sync modes for IMAP accounts.
939 | [*] JS: Bugfix for search in messages and contacts refusing to work after searching for empty value.
940 | [*] JS: Fix for switching language in user settings (not all language constants' values were updated immediately).
941 | [+] PHP: Examples of using new API are added to examples directory.
942 | [+] JS: In Import Contacts mode, link to relevant documentation page is available.
943 |
944 | [6.0.0]
945 | [*] PHP, .NET: AdminPanel is rewritten from scratch;
946 | [*] PHP, .NET: totally new screen of user account settings;
947 | [+] PHP, .NET: modern AJAX-based file uploader instead of Flash-based one;
948 | [+] PHP: separate MySQL master/slave (read/write) MySQL;
949 | [+] PHP, .NET: reading/composing mail in new tab/window by pressing Shift;
950 | [+] PHP, .NET: Print and Save tools in preview pane;
951 | [+] PHP, .NET: window/tab "New Messages" icon with number of new messages displayed;
952 | [+] PHP, .NET: instead of full reload, message list is dynamically updated after deleting/moving mails;
953 | [+] PHP, .NET: quota indicator is back in 3-pane view.
954 | [-] PHP, .NET: Advanced Login mode deprecated, "out of domain" user cannot be created;
955 | [-] PHP, .NET: compliated synchronization modes options removed (IMAP: Direct Mode only; POP3: Entire Messages only);
956 | [-] PHP, .NET: Selecting default charset no longer available, only UTF-8 is used;
957 | [-] .NET: MS Access support for ASP.NET edition discontinued;
958 | [-] PHP: MS SQL support for PHP edition discontinued.
959 |
960 | [5.1.11]
961 | [*] PHP: The issue with empty messages list in POP3 Inbox (Direct Mode) has been fixed
962 | [*] JS: Spam button is now available in IMAP account if Spam system folder exists
963 | [*] JS: Search bar was disappearing when navigating back to messages list
964 |
965 | [5.1.10]
966 | [*] PHP: Under certain circumstances, full list of contacts was not available.
967 | [+] PHP: Save in Sent setting is stored per-account in cookies.
968 |
969 | [5.1.9]
970 | [*] PHP: 5.1.8 minor bug fixes.
971 |
972 | [5.1.8]
973 | [*] PHP: Double database connection is performed (read/write)
974 | [*] PHP: Alphabetical index in contacts (disabled by default)
975 | [*] PHP: Minor fixes, code refactoring
976 | [*] PHP: Required indexes are added to the database
977 |
978 | [5.1.7]
979 | [*] PHP: Renaming folders now processes re-subscription correctly.
980 | [*] PHP: Forced security check of incoming parameters.
981 | [*] PHP: Message size detection before sending or saving has been fixed.
982 | [*] PHP: Calendar queries are now subject to additional checks.
983 | [*] PHP: Inline attachments detection improved.
984 |
985 | [5.1.6]
986 | [*] PHP: Mandatory password check on IMAP server while logging in.
987 | [*] PHP: HTML part is no longer created when plaintext message is sent.
988 | [*] PHP: Message list sorting after search in Direct Mode fixed.
989 | [*] PHP: Server capability check is made when required, not right after connect.
990 | [*] PHP: MySQL query for contact list search fixed.
991 | [*] Calendar Js: Bug with incorrect appointment time for external user invitation fixed.
992 | [*] PHP: Minor refactoring.
993 |
994 | [5.1.5]
995 | [*] PHP: Save In Sent Items functionality corrected.
996 | [*] PHP: Message date detection fixed.
997 |
998 | [5.1.4]
999 | [*] PHP, .NET: Added new predefined setting in AdminPanel: Save In Sent Items.
1000 | [*] PHP: Autoresponce save fixed.
1001 |
1002 | [5.1.1]
1003 | [*] PHP: Fixed the problem with lines terminated by LF and not CRLF on sending message.
1004 | [*] PHP: Fixed mailcheck issues with filters.
1005 |
1006 | [5.1.0]
1007 | [*] .NET: Bugfix: Message were marked as read on mailcheck in direct mode.
1008 | [*] .NET: Bugfix: WebMail Pro crashed after deleting message.
1009 | [*] PHP, .NET: "Show pictures in messages" applies to external images only.
1010 | [*] PHP, .NET: Default date setting in calendar work correctly.
1011 | [*] PHP, .NET: Bugfix: Address autocompletion didn't work starting from the 3rd recipient.
1012 | [*] PHP, .NET: "Reply to all" now covers sender ("From:") of the original mail.
1013 | [*] PHP, .NET: "background" attribute was not properly processed when hiding images.
1014 | [*] PHP, .NET: On adding contact, Name field gains focus automatically.
1015 | [*] PHP, .NET: For mails with empty subject, "No subject" is displayed.
1016 | [*] PHP, .NET: Embedded documentation is replaced by wiki-based one.
1017 | [*] PHP, .NET: Error messages, status reports and mailcheck notification no longer overlap.
1018 | [*] PHP, .NET: Message list is cleared during search.
1019 | [*] PHP, .NET: Direct mode is default for IMAP now.
1020 | [*] PHP, .NET: Few bugfixes in calendar.
1021 | [*] .NET: AdminPanel core rewritten, performance is now increased.
1022 | [*] .NET: Folders and files structure modified.
1023 | [+] PHP, .NET: Option for saving message to Sent Items added.
1024 |
1025 | [5.0.6]
1026 | [*] PHP: Saving to Drafts corrected.
1027 | [*] PHP: Mail composing rewritten in order to ensure lower spam scores.
1028 | [*] Calendar: Placing wrong hashes to event invitation mails corrected.
1029 |
1030 | [5.0.5]
1031 | [*] .NET: Fixed bug with POP3 mail mode and autocheck interval.
1032 |
1033 | [5.0.4]
1034 | [*] .NET: Several language files updated.
1035 | [*] .NET: Fixed bug with forwarding messages with attachments.
1036 |
1037 | [5.0.3]
1038 | [*] .NET: Fixed conflict with namespaces.
1039 | [*] PHP: Detailed error messages in installer for /data/ folder troubleshooting.
1040 | [*] PHP: Messages with embedded images - fix in editor.
1041 | [*] JS: "Search" field text localization implemented.
1042 | [*] JS: Search results header fixed
1043 | [*] Calendar: Shared calendars presentation fixed
1044 | [*] Calendar: Skin selection fixed
1045 |
1046 | [5.0.0]
1047 | [*] JS Calendar: Code refactoring and optimization.
1048 | [*] .NET: Code refactoring and optimization.
1049 | [+] JS: PHP, .NET: New (three pane view) main window layout
1050 | [+] PHP: Mobile sync
1051 | [+] PHP, .NET: Two-way syncing of contacts and calendar events
1052 | [*] .NET: Optimized memory usage
1053 | [*] .NET, PHP: Multiple minor fixes.
1054 | [*] JS: Contacts screen scrolling issue fixed.
1055 | [*] .NET: Subadmins management issue with MySQL used is fixed.
1056 | [*] .NET: Database update script corrected.
1057 | [+] .NET: Update script is updating adminpanel.xml file now as well.
1058 |
1059 | [4.10.0]
1060 | [*] JS Calendar: Several visual issues fixed.
1061 | [*] JS Calendar: The issue with deleting events repeated at specific weekdays fixed.
1062 | [*] JS Calendar: Behavior of inline editing of event name corrected.
1063 | [+] .NET, PHP: Automated mailcheck at specified time interval.
1064 | [+] .NET, PHP: Global address-book, either domain- or system-wide, is added as a set of hints for message composing screen.
1065 | [+] PHP: Folder sync on login (configured within constants).
1066 | [+] .NET, PHP: Multiple admins (sub-admins with domain-specific permissions granted).
1067 | [+] PHP: Few API methods added for dealing with accounts.
1068 | [+] .NET, PHP: Support for Chinese Simplified and Chinese Traditional added.
1069 | [+] .NET, PHP: Uploading attachments using Flash when available.
1070 | [*] .NET, PHP: Multiple minor fixes.
1071 |
1072 | [4.9.10]
1073 | [*] PHP: Code added for prolonging cookies of "Sign me in" parameters.
1074 | [*] JS: Method creating message body request fixed (size wasn't added under certain conditions).
1075 |
1076 | [4.9.9]
1077 | [*] PHP: Bugfix: CAPTCHA was checked even if not displayed on login screen.
1078 | [*] JS: Message uniqueness is no longer checked based on its size.
1079 |
1080 | [4.9.8]
1081 | [+] PHP: Any message header can be processed by filters through custom layer functionality.
1082 | [+] PHP Sync Plugin: fixed the issue with dates for all-day events not saved correctly after synchronization.
1083 | [*] .NET: The class dealing with POP3 modified.
1084 | [*] .NET: Database updating script modified.
1085 |
1086 | [4.9.7]
1087 | [*] PHP: Session-related fixes.
1088 | [*] PHP: Sorting by date in IMAP4 with Direct Mode used for folder is improved.
1089 | [*] PHP: IMAP folder is now selected using SELECT command.
1090 | [*] PHP: IMAP folder is always SELECTed even if it was selected before (to update IMAP server cache).
1091 |
1092 | [4.9.6]
1093 | [*] PHP: STARTTLS support added for SMTP.
1094 | [*] PHP: Rules for parsing encoded message headers updated.
1095 | [*] PHP: Saving primary_hostname value ("Default Domain") fixed in adminpanel.
1096 | [*] PHP: Several translations added.
1097 | [*] PHP, JS : Few minor fixes.
1098 | [+] JS: Condition added for displaying currently selected message on XML server packet arrival.
1099 | [*] .NET: adminpanel.xml file fixed.
1100 |
1101 | [4.9.5]
1102 | [*] .NET: Bugfix: calendar settings saved incorrectly
1103 | [*] .NET: Bugfix: attached files with the same file names accessed incorrectly
1104 |
1105 | [4.9.4]
1106 | [*] JS: Small visual fixes.
1107 | [+] JS: HideSpamButton variable added in JS code.
1108 | [*] PHP: Encoding message headers corrected, long words are no longer splitt when charset is other than UTF-8.
1109 | [*] .NET: Issue with SET NAMES use for MySQL fixed.
1110 |
1111 | [4.9.3]
1112 | [*] PHP: Calendar settings request fix.
1113 |
1114 | [4.9.2]
1115 | [*] .NET: Fixed bug with limited body length when composing a message.
1116 | [*] JS: Fix domain selector on login form.
1117 |
1118 | [4.9.1]
1119 | [*] PHP: Minor modifications of language constants.
1120 | [*] PHP: Support for demo package building.
1121 | [*] JS Calendar: Bugfix: Invalid time selection for event with AM/PM time format enabled.
1122 | [*] JS Calendar: Few visual bugs fixed.
1123 |
1124 | [4.9.0]
1125 | [+] PHP: LDAP support added (LDAP authentication and server contact list). This is custom-project only option.
1126 | [+] JS, PHP, .NET: filter list interface beautified.
1127 | [+] PHP: Afterlogic Outlook Sync Plugin support added.
1128 | [+] JS, PHP, .NET: Visual indication as to the priority and confidentiality of the message. This option available in Message List, Preview and Full pane.
1129 | [+] JS: Syntax check of email addresses before sending a message.
1130 | [+] JS: Cancel message composing ability.
1131 | [+] JS, PHP: no-reply answers.
1132 | [+] JS: Subject and Body Lengths. Body counter and remaining allowed characters.
1133 | [+] JS: The size of the attachment has to be verified upon sending.
1134 | [+] PHP: logging level and events logging.
1135 | [+] Calendar: Added event reminders.
1136 | [+] Calendar: Added a feature for inviting other users to participate in events.
1137 | [+] Calendar: Calendars display status is saved to the database and restored on next login.
1138 | [*] JS, PHP, .NET: Spam folder along with "Spam" & "Not Spam" buttons added to every protocol.
1139 | [*] JS, PHP, .NET: Message can be deleted from server immediately if it's not possible to move it to Trash folder.
1140 | [*] PHP: Message sorting in IMAP4 folders configured for Direct Mode access has been enhanced.
1141 | [*] JS Calendar: Bugfix: time of event end was selected incorrectly when selecting time of event start.
1142 | [*] JS Calendar: Bugfix: calendar cells were selected incorrectly if system fonts were of too big or too small size.
1143 | [*] .NET: a fix for dealing with charset used in MySQL has been applied.
1144 |
1145 | [4.8.20]
1146 | [*] .NET: Bugfix: IMAP optimization.
1147 |
1148 | [4.8.19]
1149 | [*] .NET: Some bugfixes.
1150 |
1151 | [4.8.18]
1152 | [*] .NET: MySQL issue in Windows 64-bit fixed.
1153 |
1154 | [4.8.17]
1155 | [*] .NET: "Issue of December" fixed in calendar.
1156 |
1157 | [4.8.16]
1158 | [*] .NET: Some bugfixes.
1159 |
1160 | [4.8.15]
1161 | [*] .NET: Bugfix: test connection to MySQL database in the installer.
1162 | [*] .NET: Bugfix: JavaScript error on "Database Settings" screen in Admin Panel.
1163 | [*] PHP: Bugfix: default sync mode for POP3 accounts.
1164 |
1165 | [4.8.13]
1166 | [*] .NET: Bugfix: reply to found message (in search) for native XMail accounts
1167 | [*] .NET: Bugfix: on deleting (moving to "Trash" folder in "Don't synchronize" mode), read message bacame unread (IMAP4).
1168 | [+] .NET, PHP: 5-Users license added.
1169 |
1170 | [4.8.12]
1171 | [*] PHP: Minor bugfix in licensing system.
1172 | [*] JS: Bugfix: changing password in native XMail account (PHP version).
1173 | [*] .NET: Additional checks added to the installation script.
1174 |
1175 | [4.8.10]
1176 | [*] .NET: Bugfix: pre-fetch in IMAP.
1177 | [*] .NET: Bugfix: IMAP optimization.
1178 | [*] .NET: Bugfix: some messages in IMAP accounts were displayed incorrectly.
1179 | [*] JS: Bugfix: changing password in native XMail account.
1180 |
1181 | [4.8.9]
1182 | [+] .NET: On adding domains and users which exist on mail server, but don't exist in WebMail database, the users are added into WebMail database.
1183 | [*] .NET: MailBee.NET.dll updated.
1184 | [-] JS: Logging in Manage Folders screen removed.
1185 |
1186 | [4.8.8]
1187 | [*] PHP Calendar: A bug in synchronizing with Outlook fixed. Only the last calendar was synchronized.
1188 | [*] .NET: Exception handling and logging subsystem improved.
1189 | [*] .NET: Missing constants added to language files.
1190 | [*] PHP: Bugfix: UTF-7 decoding imap folder names with & in name.
1191 | [*] PHP: Bugfix: JS handler was not added to mailto links.
1192 | [*] PHP: Bugfix: logout in PDA version didn't clear Sign Me cookie.
1193 | [*] JS: Multiple pre-fetch query message_body returned back.
1194 |
1195 | [4.8.7]
1196 | [+] .NET: mailto links now go to message compose screen.
1197 | [*] JS: bugfix: displaying border of "contact info" form in IE.
1198 | [*] JS: bugfix: selecting contacts in contacts list.
1199 | [*] PHP: Changed error message about file being imported is empty.
1200 | [*] PHP: Missing language constants added.
1201 | [*] .NET, PHP: Arabic language updated.
1202 |
1203 | [4.8.6]
1204 | [+] JS, PHP: mailto links now go to message compose screen.
1205 | [+] .NET, PHP: Japanese translation added.
1206 | [*] .NET: a bug with editing domains settings in Admin Panel fixed.
1207 |
1208 | [4.8.5]
1209 | [*] JS: Irrelevant parts in message_body request removed.
1210 | [*] JS: message_body request is now performed multiple times, but it doesn't request all messages on page anymore, but only 5 (configurable - preFetchMsgLimit in _defines.js).
1211 | [*] JS: UsePrefetch flag added to _defines.js for disabling message_body requests.
1212 | [+] .NET, PHP: Two license types added (25 and 250 users).
1213 | [*] .NET: Some adjustments in installation routine.
1214 | [*] .PHP: Bugfix: messages are now sent with attachments with names UTF-8 encoded. This resolves the issue with empty names when, e.g. cyrillic <-> turkish conversion.
1215 |
1216 | [4.8.4]
1217 | [*] JS: Folders sorting in Manage Folders screen fixed.
1218 | [*] .NET: Error on login in PDA version fixed, it occured with Advanced Login disabled.
1219 | [*] .NET: Minor issues within integration methods fixed.
1220 |
1221 | [4.8.3]
1222 | [-] JS: unnecessary AJAX requests removed.
1223 | [-] PHP: Removed extra JS code from index.php.
1224 | [-] PHP: Inbox removed from folder list in folder_base request.
1225 | [*] .NET, PHP: Removed setting extra /seen flag on mailcheck.
1226 | [*] JS Calendar: Bugfix: calculation of events repeated in custom way (Mon - Wed - Sat - ...).
1227 | [*] JS Calendar: Bugfix: date shifted to next day when start time set to midnight.
1228 | [*] JS Calendar: Bugfix: calculation of events repeated once a month with given number of iterations or end date set.
1229 | [*] JS Calendar: Bugfix: event edit window shadow in Internet Explorer 8.
1230 | [*] JS Calendar: Bugfix: edit window not removed after deleting event lasting several days.
1231 |
1232 | [4.8.2]
1233 | [*] .NET: Bugfix: language selection at login screen
1234 | [*] .NET: Some bugfixes in PDA version.
1235 | [*] .NET: Improved logging errors subsystem.
1236 |
1237 | [4.8.1]
1238 | [*] .NET: Some bugfixes in calendar
1239 |
1240 | [4.8.0]
1241 | [*] JS: View link for PNG images added.
1242 | [*] NET: Import contacts from CSV file function changed. Now, contacts failed to be processed are just skipped without stopping entire importing process.
1243 | [*] NET, PHP: New PDA version of the UI replaced the old "classic HTML" version. "Classic HTML" mode is not available anymore.
1244 | [*] NET, PHP: Outlook Sync Plug-in added.
1245 | [*] NET, PHP: "E-mail identities" implemented.
1246 | [*] NET, PHP: Many minor bugfixes and improvements.
1247 |
1248 | [4.7.14]
1249 | [*] .NET: MailBee.NET.dll updated.
1250 | [*] .NET: Bugfix: null reference error on switching folders in direct mode
1251 |
1252 | [4.7.12]
1253 | [*] .NET: Some minor optimizations and improvements.
1254 |
1255 | [4.7.11]
1256 | [*] .NET: Significantly optimized memory usage.
1257 | [*] .NET: Bugfix: message read flag was not set.
1258 | [*] .NET: Bugfix: attachments larger than 20KB was not loaded in case of using IMAP.
1259 | [*] .NET, PHP: Cross-site scripting vulnerability resolved.
1260 |
1261 | [4.7.10]
1262 | [*] .NET: AdminPanel is not a separate web application, but a part of WebMail application now.
1263 | [*] .NET: Saving settings in POP3 account bug fixed.
1264 | [*] .NET: Bug with deleting mail in Full-view fixed.
1265 | [*] .NET: A bug in native protocol is fixed. If a message was deleted from mail server, it was impossible to delete it from the database.
1266 |
1267 | [4.7.9]
1268 | [*] .NET: Bugfix: issue with duplicate messages in trash folder (Direct Mode, POP3).
1269 |
1270 | [4.7.8]
1271 | [*] JS: Fixed issue with system folder names not translated when message list is displayed.
1272 | [*] .NET: Fixed issue with messages not deleted from the database when sending messages from Drafts.
1273 |
1274 | [4.7.7]
1275 | [*] .NET: Fixed issue with displaying attachment size in IMAP when message size is over 20Kb.
1276 | [*] .NET: Fixed encoding issue in IMAP when message subject is not explicitly specified.
1277 | [*] .NET: Folders in native mode are created in Utf7Modified encoding for non-latin characters.
1278 | [*] .NET: Fixed issue with deleting messages from database in New Headers sync.mode for Imap4DeleteLikePop3 = 1.
1279 |
1280 | [4.7.6]
1281 | [*] PHP: Fixed checking license key in AJAX queries.
1282 | [*] JS: System folders names are now localized in IMAP mode.
1283 | [+] PHP: Completed localizations for several languages.
1284 |
1285 | [4.7.5]
1286 | [*] .NET: Bugfix: A problem with signature encoding in case of MS Access or MySQL database engine.
1287 | [*] PHP: Processing literals in BODYSTRUCTURE queries added.
1288 | [*] PHP: Bugfix: Incorrect "Location" headers.
1289 |
1290 | [4.7.4]
1291 | [+] PHP: Migration to PHP 5.1.0 (added "clone" operator using in Admin Panel + install script now checks if PHP version is >= 5.1.0). PHP 4.X and 5.0 is not supported anymore.
1292 | [*] .NET: Some optimizations in native Afterlogic XMail Server mode.
1293 | [*] .NET: Bugfix: inc.calendar-settings.js was not loaded.
1294 | [*] PHP: Bugfix: "Enable to open site" in Admin Panel in IE.
1295 | [+] PHP: Additional condition for detecting attachments in BODYSTRUCTURE queries added.
1296 |
1297 | [4.7.3]
1298 | [*] .NET: "Parsing 'url(' - Not enough )'s" error fixed.
1299 |
1300 | [4.7.2]
1301 | [*] PHP: Bugfix: sign-up on logging in
1302 | [*] PHP: Bugfix: caching displayed messages in POP3 accounts worked incorrectly in case of StoreMailsInDb enabled.
1303 | [*] .NET: Bugfix: creating and getting domains list through API in case of MS Access database engine.
1304 | [*] .NET: Bugfix: Imap4DeleteLikePop3 parameter was not processed in AdminPanel.
1305 | [*] .NET: Bugfix: user settings were not deleted and "number of users allowed by license" limit was not updated when account was deleted through API.
1306 | [*] .NET, PHP: Adding users behavior changed in case when "number of users allowed by license" limit exceeded. Now, users are not created.
1307 | [*] .NET: Bugfix: "wmx_" prefix for "background" parameter. Now only "src" � "url(" (parameters/styles) are removed.
1308 |
1309 | [4.7.1]
1310 | [*] JS Calendar: Fixed bug with event which continues in the next year.
1311 | [*] JS Calendar: Bugfix: In IE6, border of event editing/saving window was displayed incorrectly.
1312 | [*] PHP, .NET: All calendar JS files moved to js folder for better project structure.
1313 | [*] .NET: Messages are moved to Trash folder on deleting in DIRECT MODE.
1314 | [*] .NET: Bugfix: "True" was always saved to User Friendly Name filed in case of MS Access database.
1315 | [*] PHP: Bugfix: "wmx_" prefix for "background" parameter. Now only "src" � "url(" (parameters/styles) are removed.
1316 | [*] PHP: Some language constants updated.
1317 |
1318 | [4.7.0]
1319 | [*] .NET Calendar: Bugfix: editing recurrent event caused JS-error and non-saving the event.
1320 | [*] JS Calendar: Bugfix: In IE 6-7, after deleting/saving/creating recurrent events, recurrence area was displayed (should be hidden) on opening edit window.
1321 | [+] PHP, .NET: Retrieving BODYSTRUCTURE for messages larger than 20KB in IMAP (getting only data which is currently relevant).
1322 | [+] PHP: Getting message list via a single IMAP query.
1323 | [+] PHP, .NET, JS: Folders mapping (now, it's possible to map any WebMail folder to any IMAP server folder).
1324 | [*] PHP: Improvement: when IMAP quotas enabled, WebMail gets not only mailbox limit, but also amount of space used on server.
1325 | [*] PHP, .NET: All JS files are moved to js folder for better project structure.
1326 | [+] PHP, .NET: Request Read Confirmation feature implemented.
1327 | [*] PHP: Files with class_ prefix moved to common folder for better project structure. Now, the root folder contains only files which should be available for accessing through web.
1328 | [*] PHP: "Customization classes" (wm_Custom, ap_Custom) improved. Now, all the calls are static and don't require instantiating the appropriate class in the code.
1329 | [*] JS: On forwarding message in a folder in Direct Mode, forward icon is not set anymore ("forwarded" isn't a standard IMAP flag) as it caused a visual bug.
1330 | [+] JS: Added caching of contacts/groups lists under some circumstances (sending message, importing contacts, adding to group through menu).
1331 | [+] JS: Added scrollbar on moving from message to message in Full View mode.
1332 | [+] JS: Processing of "enter" key added to settings of address book.
1333 | [*] JS: Bugfix: message was not loaded to compose screen when opened from Drafts.
1334 | [*] JS: Bugfix: folders and messages lists were not displayed if WebMail started from compose message screen.
1335 | [*] .NET: Bugfix: BCC header was not removed when message sent through native XMail account.
1336 | [*] JS Calendar: Bugfix: on last days of year, recurrent events continuing in the next year were not displayed.
1337 | [*] JS Calendar: Bugfix: recurrence end date was reset on changing recurrence period.
1338 |
1339 |
1340 | [4.6.13]
1341 | [*] .NET: A problem with Friendly Name encoding is fixed.
1342 |
1343 | [4.6.12]
1344 | [*] .NET: Bugfix: obtaining shared calendars
1345 | [*] JS: Bugfix: storing data into session
1346 |
1347 | [4.6.11]
1348 | [*] .NET: Added support of folders with nesting level more than 2.
1349 |
1350 | [4.6.10]
1351 | [*] .NET: Fixed bug with calculating "trial days left" for permanent keys.
1352 | [*] .NET: "Allow Users Manage XMail Accounts" setting is ignored in case of creating accounts and domains through Integration API.
1353 | [*] .NET: The following DLLs signed: CheckKey.dll, LitJson.dll, WebMailPro.dll
1354 | [*] .NET: LitJson.dll updated. Compiled from original sources.
1355 |
1356 | [4.6.9]
1357 | [*] .NET: "Object reference not set to an instance of an object" bug on automatic creating account on login is fixed.
1358 |
1359 | [4.6.8]
1360 | [*] .NET: Improvement for compatibility with Hi-Trust mode (fixed saving logs).
1361 | [*] .NET: Fixed a bug in licensing system.
1362 | [*] .NET: Integration API improved.
1363 |
1364 | [4.6.7]
1365 | [*] .NET AdminPanel: Added Store mail in the User's Server Mailbox setting on managing forwarding rules screen for XMail users in Admin Panel.
1366 | [*] .NET AdminPanel: Forwards were not saved on creating Forwarded Domain. Fixed.
1367 | [*] .NET: On sending a message in native mode, the message is created in temporary folder first and then is moved to "local" folder.
1368 | [*] .NET: "Cast is not valid" is fixed for MS Access database.
1369 | [*] .NET AdminPanel: Update routine is fixed for MS Access database.
1370 | [*] .NET: License key processing class fixed a bit.
1371 |
1372 | [4.6.6]
1373 | [*] PHP: Added Store mail in the User's Server Mailbox setting on managing forwarding rules screen for XMail users in Admin Panel.
1374 | [*] PHP: A bug with search in Direct Mode fixed. Additional search query without charset definition added.
1375 | [*] PHP: A bug in Admin Panel fixed. Direct mode is default setting was not saved and Allow users to change accounts which can be used to log in setting was not disabled properly.
1376 |
1377 | [4.6.5]
1378 | [*] PHP: Resizing users/domains list in Admin Panel is fixed.
1379 | [*] JS Calendar: Autochanging time is added to Edit Event form. For example, if date is till = 24:00 24.06.09 or 12�� 24.06.09, it's automatically changed to 00:00 25.06.09 or 12AM 25.06.09.
1380 | [*] JS Calendar: Event length (in the top section of Day and Week views) was greater by 1 than real length. Fixed.
1381 | [*] JS Calendar, .NET: Description field was filled with null under some circumstances. Fixed.
1382 | [*] JS Calendar: JS-error on creating event fixed. Occured under some specific circumstances.
1383 | [*] PHP: Paths to non-existing files are fixed (icons.ico and some images of AfterLogic_Dark skin)
1384 | [*] JS, PHP, .NET: Setting focus to the first field added to login pages of WebMail and AdminPanel.
1385 |
1386 | [4.6.4]
1387 | [*] PHP: Fix for bug with double gzipping in case when zlib.output_compression enabled in php.ini.
1388 | [+] PHP: UpdateSocketTimeouts custom method added.
1389 |
1390 | [4.6.3]
1391 | [*] JS: Fix for bug which prevented logging into WebMail with disabled Advanced Login.
1392 | [*] .NET: Fixed bug with flags field in awm_messages table.
1393 | [*] .NET: Language selection list was not hidden when disabled in settings. Fixed.
1394 | [*] .NET: Database update script fixed.
1395 | [*] .NET: Access database updated.
1396 | [*] .NET: MailBee.NET.dll updated.
1397 |
1398 | [4.6.1]
1399 | [*] .Net: Log location error fixed.
1400 |
1401 | [4.6.0]
1402 | [*] JS: Deleting message in Full View causes moving to next message.
1403 | [*] PHP: On full search, moving to 2nd page worked incorrectly in AJAX version. Fixed.
1404 | [+] JS: Blocking some buttons on pressing (Check Mail, Send, Save).
1405 | [+] .Net, PHP, JS: New approach of choosing interface language.
1406 | [+] PHP: Enabled compressing and merging JS files. Compressing all AJAX data and index.php file.
1407 | [+] PHP, .Net: Ukrainian language added.
1408 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contribute #
2 |
3 | Afterlogic WebMail Lite is open-source webmail script for existing IMAP server. All source code is licensed under [AGPL v3](https://www.gnu.org/licenses/agpl-3.0.html).
4 |
5 | ## How to join: ##
6 |
7 | If you wish to help us improve the codebase, add some features or provide a translation to your native language, make sure you have the most recent code downloaded [as described here](https://github.com/afterlogic/webmail-lite-8#installation-instructions) as the process differs from installing the latest stable version.
8 |
9 | In WebMail Lite 8 [Developer's Guide](https://afterlogic.com/docs/webmail-lite-8/developers-guide) you can find a number of tutorials for extending the product functionality and integrating it with other applications, as well as documentation for [Web API](https://afterlogic.com/webmail-lite-8-webapi/) and [PHP API](https://afterlogic.com/webmail-lite-8-api/).
10 |
11 | Instructions on updating the product translations can be found here: [Improving and adding translations](https://afterlogic.com/docs/webmail-lite-8/frequently-asked-questions/improving-and-adding-translations)
12 |
13 | Upon making changes to WebMail Lite 8 code, you can send us a Pull Request. Please bear in mind that the product has a modular structure, so you'll need to send a Pull Request in each repository where you made any changes.
14 |
15 | Also, you can create a module for our product, and you might wish to use one of the existing modules as a ground. You can upload it to your own repository of course. And if you believe other users of WebMail Lite 8 could benefit from such a module, please [let us know](https://afterlogic.com/contact) about it!
16 |
17 | - [Github repository](https://github.com/afterlogic/webmail-lite-8)
18 | - [Issue tracker](https://github.com/afterlogic/webmail-lite-8/issues)
19 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/afterlogic/webmail-lite-8/3fa1eb78644d15c4418cf2e132e333b9f699144e/LICENSE
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [](https://travis-ci.org/afterlogic/webmail-lite-8)
2 |
3 | # Afterlogic WebMail Lite
4 | Open-source webmail script for your existing IMAP server.
5 |
6 | - For more information, please visit WebMail Lite [home page](https://afterlogic.org/webmail-lite).
7 | - You can check WebMail Lite [live demo](https://lite.afterlogic.com).
8 | - [Github repository](https://github.com/afterlogic/webmail-lite-8)
9 | - [Issue tracker](https://github.com/afterlogic/webmail-lite-8/issues)
10 |
11 | 
12 |
13 | You can download WebMail Lite from our website, unzip the package and configure the installation as described at [this documentation page](https://afterlogic.com/docs/webmail-lite-8/installation/installation-instructions). This is a simple approach convenient for those who simply wish to install the product. But if you're looking for building and adding custom modules or skins, installing from Git repository is recommended per the instructions below.
14 |
15 | ## Installation instructions
16 |
17 | During installation process you will need:
18 | * [Git](https://git-scm.com/downloads)
19 | * [Composer](https://getcomposer.org/download/)
20 | * [Node.js + NPM](https://nodejs.org/en/)
21 |
22 | **Note!** npm 3.0 or later is required.
23 |
24 | 1. Download and unpack the latest version of WebMail Lite into your installation root directory
25 | [`https://github.com/afterlogic/webmail-lite-8/archive/latest.zip`](https://github.com/afterlogic/webmail-lite-8/archive/latest.zip)
26 |
27 | We're assuming that you wish to install the latest stable version of the product. If you're looking for the latest code (e.g., to contribute changes), the following steps needs to be taken:
28 |
29 | - Instead of unpacking the archive, clone the repository into the installation directory:
30 | ```
31 | git clone https://github.com/afterlogic/webmail-lite-8.git INSTALL_FOLDER_PATH
32 | ```
33 | - change modules' versions in `composer.json` file to "dev-master"
34 |
35 | 1. `composer.phar` file is available in repository, but you can download its latest version 2 from [`https://getcomposer.org/composer.phar`](https://getcomposer.org/composer.phar)
36 |
37 | 2. Start the composer installation process by running the following from the command line:
38 | ```bash
39 | php composer.phar install
40 | ```
41 |
42 | **NB:** It is strongly advised to run composer as non-root user. Otherwise, third-party scripts will be run with root permissions and composer issues a warning that it's not safe. We recommend running the script under the same user web server runs under.
43 |
44 | 3. Next, you need to build static files for the current module set.
45 | First of all, install all npm dependencies via
46 | ```bash
47 | npm install
48 | ```
49 | then install the dependencies required for adminpanel to work
50 | ```bash
51 | cd modules/AdminPanelWebclient/vue
52 | npm install
53 | npm install -g @quasar/cli
54 | ```
55 | or you can execute all the actions mentioned above by using the following command
56 | ```
57 | chmod +x builder.sh
58 | ./builder.sh -t npm
59 | ```
60 |
61 | 4. Now you can build static files. Run the following commands in main directory
62 | ```bash
63 | npm run styles:build --themes=Default,DefaultDark,DeepForest,Funny,Sand
64 | npm run js:build
65 | npm run js:min
66 | ```
67 | and build adminpanel
68 | ```bash
69 | cd modules/AdminPanelWebclient/vue
70 | npm run build-production
71 | ```
72 | or use all-in-one command
73 | ```
74 | ./builder.sh -t build
75 | ```
76 |
77 | 5. Now you are ready to open a URL pointing to the installation directory in your favorite web browser. Be sure to add `/adminpanel/` to main URL to access admin interface.
78 |
79 | 6. Upon installing the product, you'll need to [configure your installation](https://afterlogic.com/docs/webmail-lite/configuring-webmail).
80 |
81 | **IMPORTANT:**
82 |
83 | 1. Make sure data directory is writable by the web server. For example:
84 | ```bash
85 | chown -R www-data:www-data /var/www/webmail/data
86 | ```
87 |
88 | 2. It is strongly recommended to runs the product via **https**. If you run it via **http**, the majority of features will still be available, but some functionality aspects, such as authentication with Google account, won't work.
89 |
90 | To enable automatic redirect from **http** to **https**, set **RedirectToHttps** to **true** in **data/settings/config.json** file.
91 |
92 | **Protecting data directory:**
93 |
94 | All configuration files of the application and user data are stored in data directory, so it's important to [protect data directory](https://afterlogic.com/docs/webmail-lite/security/protecting-data-directory) to make sure that nobody can access that directory over the Internet directly.
95 |
96 | # Licensing
97 | This product is licensed under AGPLv3. The modules and other packages included in this product as dependencies are licensed under their own licenses.
98 |
99 | NB: Afterlogic Aurora modules which have dual licensing are licensed under AGPLv3 within this product.
100 |
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 | support@afterlogic.com
2 |
--------------------------------------------------------------------------------
/VERSION:
--------------------------------------------------------------------------------
1 | 9.8.2.build2
2 |
--------------------------------------------------------------------------------
/apidoc-overview.md:
--------------------------------------------------------------------------------
1 | # Overview
2 | Afterlogic WebMail Lite 8 is an open-source webmail script for your existing IMAP server, Plesk or cPanel.
3 |
4 | 
5 |
6 | ## Useful links
7 | - [Afterlogic WebMail Lite 8 home page](https://afterlogic.org/webmail-lite)
8 | - [Live demo](https://lite.afterlogic.com)
9 | - [Documentation](https://afterlogic.com/docs/webmail-lite-8)
10 | - [Github repository](https://github.com/afterlogic/webmail-lite-8)
11 | - [Issue tracker](https://github.com/afterlogic/webmail-lite-8/issues)
12 |
13 | # Introduction
14 | This API allows applications to communicate with backend code of Afterlogic WebMail Lite . You can create your custom frontend which would interact with Afterlogic WebMail Lite backend via Web API. Note that the application which uses Web API doesn't have to be written in JavaScript, it doesn't even have to be a web application, you can use this API in mobile, desktop and server applications as well.
15 |
--------------------------------------------------------------------------------
/apidoc.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Afterlogic WebMail Lite 8 Web API Reference",
3 | "version": "0.1.0",
4 | "description": "",
5 | "url" : "https://afterlogic.org/webmail-lite",
6 | "sampleUrl" : "https://lite.afterlogic.com/",
7 | "template": {
8 | "forceLanguage": "en"
9 | },
10 | "header": {
11 | "title": "Overview",
12 | "filename": "../../apidoc-overview.md"
13 | }
14 | }
--------------------------------------------------------------------------------
/apigen-overview.md:
--------------------------------------------------------------------------------
1 | ## Overview
2 | Afterlogic WebMail Lite 9 is an open-source webmail script for your existing IMAP server, Plesk or cPanel.
3 |
4 | 
5 |
6 | ## Useful links
7 | - [Afterlogic WebMail Lite 9 home page](https://afterlogic.org/webmail-lite)
8 | - [Live demo](https://lite.afterlogic.com)
9 | - [Documentation](https://afterlogic.com/docs/webmail-lite-8)
10 | - [Github repository](https://github.com/afterlogic/webmail-lite-8)
11 | - [Issue tracker](https://github.com/afterlogic/webmail-lite-8/issues)
12 |
13 | # Introduction
14 | This API allows to develop modules which extend Afterlogic WebMail Lite 9 functionality. Afterlogic WebMail Lite 9 product is a part of Aurora products family. It is based on Aurora Platform architecture. In its turn, this platform includes Aurora Framework, Aurora modules and product definition.
15 | In this reference you will find information about PHP API classes and methods of Afterlogic WebMail Lite 9 product.
16 |
17 |
--------------------------------------------------------------------------------
/apigen.neon:
--------------------------------------------------------------------------------
1 | parameters:
2 | # string[], passed as arguments in CLI, e.g. ['src']
3 | paths: [
4 | 'modules/',
5 | 'system/'
6 | ]
7 |
8 | # string[], --include in CLI, included files mask, e.g. ['*.php']
9 | include: ['*.php']
10 |
11 | # string[], --exclude in CLI, excluded files mask, e.g. ['tests/**']
12 | exclude: [
13 | '**/Classes/**',
14 | 'managers/licensing',
15 | 'managers/**',
16 | '*/Dropbox/**',
17 | '*/Google/**',
18 | 'OAuthClient/**',
19 | 'Licensing/**'
20 | 'WebAuthn/**'
21 | ]
22 |
23 | # - managers/licensing
24 | # - */managers/
25 | # - */Dropbox/
26 | # - */Google/
27 | # - */OAuthClient/
28 | # - /Licensing/
29 |
30 | # bool, should protected members be excluded?
31 | excludeProtected: true
32 |
33 | # bool, should private members be excluded?
34 | excludePrivate: true
35 |
36 | # string[], list of tags used for excluding class-likes and members
37 | excludeTagged: ['internal']
38 |
39 | # string, --output in CLI
40 | outputDir: 'docs/api'
41 |
42 | # string | null, --theme in CLI
43 | themeDir: null
44 |
45 | # string, --title in CLI
46 | title: 'Afterlogic WebMail Lite'
47 |
48 | # string, --base-url in CLI
49 | baseUrl: ''
50 |
51 | # int, --workers in CLI, number of processes that will be forked for parallel rendering
52 | workerCount: 1
53 |
54 | # string, --memory-limit in CLI
55 | memoryLimit: '512M'
--------------------------------------------------------------------------------
/builder-plesk.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # external config variables:
4 | # PRODUCT_NAME
5 | # PLESK_PRODUCT_TITLE
6 | # PLESK_PRODUCT_FULLTITLE
7 | # PLESK_PRODUCT_WEBSITE
8 | # PLESK_PRODUCT_DOWNLOAD
9 | # FTP_USER
10 | # FTP_PASSWORD
11 |
12 | # dev
13 | # PRODUCT_NAME="webmail-lite"
14 | # PLESK_PRODUCT_TITLE="WebMail Lite"
15 | # PLESK_PRODUCT_FULLTITLE="Afterlogic WebMail Lite 8"
16 | # PLESK_PRODUCT_WEBSITE=https://afterlogic.org/webmail-lite
17 | # PLESK_PRODUCT_DOWNLOAD=https://afterlogic.org/download/webmail-lite-php
18 |
19 | TASK="build"
20 |
21 | POSITIONAL=()
22 | while [[ $# -gt 0 ]]
23 | do
24 | key="$1"
25 |
26 | case $key in
27 | -t|--task)
28 | TASK="$2"
29 | shift # past argument
30 | shift # past value
31 | ;;
32 | *) # unknown option
33 | POSITIONAL+=("$1") # save it in an array for later
34 | shift # past argument
35 | ;;
36 | esac
37 | done
38 | set -- "${POSITIONAL[@]}" # restore positional parameters
39 |
40 | if [ "$TASK" = "build" ]; then
41 | echo DOWNLOAD PLESK TEMPLATE
42 | # wget http://github.com/afterlogic/plesk-package-template/archive/latest.zip -nv --no-check-certificate
43 | wget http://codeload.github.com/afterlogic/plesk-package-template/zip/latest -O plesk-package-template.zip -nv --no-check-certificate
44 |
45 | echo POPULATE TEMPLATE
46 | PRODUCT_VERSION=`cat VERSION`
47 |
48 | mkdir ./template
49 | # unzip -q ./plesk-package-template.zip -d ./template
50 | unzip -q ./plesk-package-template.zip
51 | cp -r ./plesk-package-template-latest/* ./template
52 |
53 | unzip -q ./${PRODUCT_NAME}_${PRODUCT_VERSION}.zip -d ./template/htdocs
54 |
55 | echo POPULATE APP-META.XML
56 | PRODUCT_RELEASE="1"
57 | PRODUCT_VERSION_TRIMMED=$(echo $PRODUCT_VERSION | grep '^[\d|\.]*' -o -P)
58 |
59 | DOT_COUNT=$(echo $PRODUCT_VERSION_TRIMMED | grep -o '\.' | wc -l)
60 |
61 | while [ $DOT_COUNT -lt 2 ]
62 | do
63 | PRODUCT_VERSION_TRIMMED=$PRODUCT_VERSION_TRIMMED".0"
64 | DOT_COUNT=$[$DOT_COUNT+1]
65 | done
66 |
67 | INSTALL_SIZE=$(du -sb ./template/htdocs | cut -f 1)
68 |
69 | sed -i "s/%PRODUCT_FULLNAME%/$PLESK_PRODUCT_FULLTITLE/g" ./template/APP-META.xml
70 | sed -i "s/%PRODUCT_NAME%/${PLESK_PRODUCT_TITLE}/g" ./template/APP-META.xml
71 | sed -i "s/%PRODUCT_VERSION%/$PRODUCT_VERSION_TRIMMED/g" ./template/APP-META.xml
72 | sed -i "s/%PRODUCT_RELEASE%/$PRODUCT_RELEASE/g" ./template/APP-META.xml
73 | sed -i "s/%INSTALL_SIZE%/$INSTALL_SIZE/g" ./template/APP-META.xml
74 | sed -i "s|%PRODUCT_WEBSITE%|${PLESK_PRODUCT_WEBSITE}|g" ./template/APP-META.xml
75 | sed -i "s|%PRODUCT_DOWNLOAD%|${PLESK_PRODUCT_DOWNLOAD}|g" ./template/APP-META.xml
76 | fi
77 |
78 | if [ "$TASK" = "xmllog" ]; then
79 | first_seen=1
80 |
81 | while read line ; do
82 | line=`echo $line | tr -d '\015'`
83 | token=`echo "$line" | awk '{print $1}' | sed "s/\[//;s/\]//"`
84 | [ ${#token} -gt 1 ] && {
85 | [ $first_seen -gt 0 ] || echo " "
86 | first_seen=0
87 | echo " "
88 | continue ;
89 | }
90 | [ ${#token} -gt 0 ] && {
91 | line=`echo "$line" | tr -d '<>&'`
92 | echo " ${line}";
93 | }
94 | done
95 |
96 | [ $first_seen -gt 0 ] || echo " "
97 | fi
98 |
99 | if [ "$TASK" = "log" ]; then
100 | echo GENERATE CHANGELOG
101 | cat ./CHANGELOG.txt | ./travis-plesk-builder.sh -t xmllog > ./changelog.xml
102 |
103 | sed -i -e "/%PRODUCT_CHANGELOG%/ {r ./changelog.xml
104 | d}" ./template/APP-META.xml
105 |
106 | echo GENERATE CHANGELOG DONE
107 | fi
108 |
109 | if [ "$TASK" = "zip" ]; then
110 | PRODUCT_VERSION=`cat VERSION`
111 |
112 | echo BUILD ARCHIVE
113 | cd ./template
114 | zip -rq ../${PRODUCT_NAME}-plesk_${PRODUCT_VERSION}.zip .
115 |
116 | echo BUILD ARCHIVE DONE
117 | fi
118 |
119 | if [ "$TASK" = "upload" ]; then
120 | PRODUCT_VERSION=`cat VERSION`
121 |
122 | echo UPLOAD ZIP FILE: "${PRODUCT_NAME}-plesk_${PRODUCT_VERSION}.zip"
123 |
124 | curl --ftp-create-dirs --retry 6 -T ${PRODUCT_NAME}-plesk_${PRODUCT_VERSION}.zip -u ${FTP_USER}:${FTP_PASSWORD} ftp://afterlogic.com/
125 |
126 | echo UPLOAD DONE
127 | fi
128 |
--------------------------------------------------------------------------------
/builder.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | RED='\033[1;31m'
4 | YELLOW='\033[1;33m'
5 | GREEN='\033[1;32m'
6 | NC='\033[0m' # No Color
7 |
8 | DIR=$(cd `dirname $0` && pwd)
9 | DIR_VUE="${DIR}/modules/AdminPanelWebclient/vue"
10 |
11 | TASK="list"
12 |
13 | POSITIONAL=()
14 | while [[ $# -gt 0 ]]
15 | do
16 | key="$1"
17 |
18 | case $key in
19 | -t|--task)
20 | TASK="$2"
21 | shift # past argument
22 | shift # past value
23 | ;;
24 | *) # unknown option
25 | POSITIONAL+=("$1") # save it in an array for later
26 | shift # past argument
27 | ;;
28 | esac
29 | done
30 | set -- "${POSITIONAL[@]}" # restore positional parameters
31 |
32 | getThemeList ()
33 | {
34 | LIST=$(find ${DIR}/modules/CoreWebclient/styles/themes -maxdepth 1 -mindepth 1 -type d -printf '%f,')
35 | echo ${LIST::-1}
36 | }
37 |
38 | if [ "$TASK" = "list" ]; then
39 | printf "The script can be used to intall NPM dependencies and build required static files. See the full list of the supported commands:
40 | - npm
41 | - build
42 | - build-main
43 | - build-admin
44 | - watch-js
45 | - watch-styles
46 | - pack
47 | - upload
48 | - prepare-demo
49 | - upload-demo
50 | - build-documentation
51 | - analyze
52 | "
53 | fi
54 |
55 | echo TASK: "$TASK"
56 |
57 | if [ "$TASK" = "npm" ]; then
58 | cd ${DIR}
59 | npm install
60 |
61 | if [ -d "$DIR_VUE" ]; then
62 | cd ${DIR_VUE}
63 | npm install
64 | npm install -g @quasar/cli
65 | fi
66 | fi
67 |
68 | if [ "$TASK" = "build" ]; then
69 | ./builder.sh -t build-main
70 | ./builder.sh -t build-admin
71 | fi
72 |
73 | if [ "$TASK" = "build-main" ]; then
74 | cd ${DIR}
75 | THEME_LIST="$(getThemeList)"
76 | npm run styles:build --themes=${THEME_LIST}
77 | npm run js:build
78 | npm run js:min
79 | fi
80 |
81 | if [ "$TASK" = "build-admin" ]; then
82 | if [ -d "$DIR_VUE" ]; then
83 | cd ${DIR_VUE}
84 | npm run build-production
85 | fi
86 | fi
87 |
88 | if [ "$TASK" = "watch-js" ]; then
89 | cd ${DIR}
90 | printf "${GREEN}Running watcher for ${RED}JS files\n"$NC
91 | npm run js:watch
92 | fi
93 |
94 | if [ "$TASK" = "watch-styles" ]; then
95 | cd ${DIR}
96 | THEME_LIST="$(getThemeList)"
97 | printf "${GREEN}Running watcher for themes: ${RED}${THEME_LIST}\n"$NC
98 | npm run styles:watch --themes ${THEME_LIST}
99 | fi
100 |
101 | if [ "$TASK" = "pack" ]; then
102 | echo 'deny from all' > data/.htaccess
103 |
104 | PRODUCT_VERSION=`cat VERSION`
105 |
106 | if [ -f "$DEMO_MODULES_FILE" ]; then
107 | PRODUCT_VERSION=`cat VERSION`
108 | rm ${PRODUCT_NAME}_${PRODUCT_VERSION}.zip
109 | fi
110 |
111 | printf $GREEN"CREATING ZIP FILE: ${RED}${PRODUCT_NAME}_${PRODUCT_VERSION}.zip\n"$NC
112 |
113 | zip -rq ${PRODUCT_NAME}_${PRODUCT_VERSION}.zip data/settings/config.json data/settings/modules data/.htaccess modules static system vendor dev adminpanel ".htaccess" dav.php index.php LICENSE VERSION README.md CHANGELOG.txt favicon.ico robots.txt package.json composer.json composer.lock gulpfile.js pre-config.json -x **/*.bak *.git* *node_modules/\*
114 | fi
115 |
116 | if [ "$TASK" = "upload" ]; then
117 | cd ${DIR}
118 |
119 | PRODUCT_VERSION=`cat VERSION`
120 |
121 | echo UPLOAD ZIP FILE: "${PRODUCT_NAME}_${PRODUCT_VERSION}.zip"
122 |
123 | curl -v --ftp-create-dirs --retry 6 -T ${PRODUCT_NAME}_${PRODUCT_VERSION}.zip -u ${FTP_USER}:${FTP_PASSWORD} ftp://afterlogic.com/
124 | fi
125 |
126 | if [ "$TASK" = "prepare-demo" ]; then
127 | cd ${DIR}
128 |
129 | printf "Adding extra modules at ${GREEN}${DIR}${NC}...\n"
130 |
131 | curl -o ${DIR}/extra_modules.txt -u ${FTP_USER}:${FTP_PASSWORD} ftp://afterlogic.com/demo/${PRODUCT_NAME}/extra_modules.txt
132 | # wget --no-parent --recursive --level=1 --no-directories --user=${FTP_USER} --password=${FTP_PASSWORD} ftp://afterlogic.com/demo/${PRODUCT_NAME}/
133 |
134 | DEMO_MODULES_FILE="./extra_modules.txt"
135 |
136 | if [ -f "$DEMO_MODULES_FILE" ]; then
137 | printf $GREEN"Installing demo modules.\n"$NC
138 |
139 | HAS_DEMO=`cat composer.json | grep -o --max-count=1 demo-mode-plugin`
140 |
141 | if [ "${HAS_DEMO}" = "" ]; then
142 | sed -i '/"afterlogic\/aurora-framework".*/r extra_modules.txt' composer.json
143 | fi
144 |
145 | # temporary removing plesk signup module
146 | sed -i '/aurora-module-mail-signup-plesk/d' composer.json
147 |
148 | php composer.phar update afterlogic/aurora-module-demo-mode-plugin
149 | else
150 | printf $RED"No extra_modules.txt file is found. Skipping this step.\n"$NC
151 | fi
152 |
153 | printf $GREEN"End 'prepare-demo' task\n"$NC
154 | fi
155 |
156 | if [ "$TASK" = "upload-demo" ]; then
157 | cd ${DIR}
158 |
159 | PRODUCT_VERSION=`cat VERSION`
160 |
161 | echo UPLOAD ZIP FILE: "${PRODUCT_NAME}_${PRODUCT_VERSION}.zip"
162 |
163 | curl -v --ftp-create-dirs --retry 6 -T ${PRODUCT_NAME}_${PRODUCT_VERSION}.zip -u ${FTP_USER}:${FTP_PASSWORD} ftp://afterlogic.com/demo/
164 | fi
165 |
166 | if [ "$TASK" = "build-documentation" ]; then
167 | cd ${DIR}
168 |
169 | PRODUCT_VERSION=`cat VERSION`
170 | DOCUMENTATION_FILE=${PRODUCT_NAME}_${PRODUCT_VERSION}_apigen.zip
171 |
172 | printf "${GREEN}BUILDING DOCUMENTATION\n"$NC
173 |
174 | cd ${DIR}/dev/docs
175 | ./build-apigen.sh
176 | # ./build-phpdoc.sh
177 |
178 | printf "${GREEN}PACKING DOCUMENTATION: ${RED}${DOCUMENTATION_FILE}\n"$NC
179 | cd ${DIR}/docs/api
180 | echo $(cd `dirname $0` && pwd)
181 | zip -rq ${DOCUMENTATION_FILE} *
182 |
183 | curl -v --ftp-create-dirs --retry 6 -T ${DOCUMENTATION_FILE} -u ${FTP_USER}:${FTP_PASSWORD} ftp://afterlogic.com/
184 | fi
185 |
186 | if [ "$TASK" = "analyze" ]; then
187 | cd ${DIR}
188 |
189 | vendor/bin/phpstan analyse | grep '[ERROR]' -F
190 |
191 | # if [ $? != 0 ]
192 | # then
193 | printf "\r\n To get more details on the found errors please run:\r\n "$YELLOW"vendor/bin/phpstan analyze"$NC"\r\n"
194 | exit 1
195 | # fi
196 | fi
197 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "config": {
3 | "minimum-stability": "dev",
4 | "preferred-install": {
5 | "afterlogic/*": "source"
6 | },
7 | "platform-check": false,
8 | "allow-plugins": {
9 | "composer/installers": true,
10 | "oomphinc/composer-installers-extender": true
11 | }
12 | },
13 | "repositories": [
14 | {
15 | "type": "package",
16 | "package": {
17 | "name": "gufy/cpanel-php",
18 | "version": "1.1.0",
19 | "dist": {
20 | "type": "zip",
21 | "url": "https://api.github.com/repos/mgufrone/cpanel-php/zipball/a6e2becf590cdfb2c7c2feea4c6682b665761eb4",
22 | "reference": "a6e2becf590cdfb2c7c2feea4c6682b665761eb4",
23 | "shasum": ""
24 | },
25 | "require": {
26 | "guzzlehttp/guzzle": "^6.5.8 || ^7.4.5",
27 | "php": ">=5.3.7"
28 | },
29 | "type": "library",
30 | "autoload": {
31 | "psr-0": {
32 | "Gufy\\CpanelPhp\\": "src/"
33 | }
34 | }
35 | }
36 | },
37 | {
38 | "type": "composer", "url":"https://afterlogic.com/composer/"
39 | }
40 | ],
41 | "require": {
42 | "oomphinc/composer-installers-extender": "^2.0",
43 |
44 | "afterlogic/aurora-framework": "~0.10.0",
45 | "afterlogic/aurora-dev-tools": "~0.10.0",
46 |
47 | "psr/http-message": "^1.1",
48 |
49 | "afterlogic/aurora-module-admin-auth": "~0.10.0",
50 | "afterlogic/aurora-module-webclient-adminpanel": "~0.10.0",
51 | "afterlogic/aurora-module-webclient-tenant-adminpanel": "~0.10.0",
52 | "afterlogic/aurora-module-webclient-logs-viewer": "~0.10.0",
53 | "afterlogic/aurora-module-contacts": "~0.10.0",
54 | "afterlogic/aurora-module-webclient-contacts": "~0.10.0",
55 | "afterlogic/aurora-module-personal-contacts": "~0.10.0",
56 | "afterlogic/aurora-module-dav": "~0.10.0",
57 | "afterlogic/aurora-module-dav-contacts": "~0.10.0",
58 | "afterlogic/aurora-module-core": "~0.10.0",
59 | "afterlogic/aurora-module-webclient-core": "~0.10.93",
60 | "afterlogic/aurora-module-dropbox": "~0.10.0",
61 | "afterlogic/aurora-module-webclient-dropbox-auth": "~0.10.0",
62 | "afterlogic/aurora-module-facebook": "~0.10.0",
63 | "afterlogic/aurora-module-webclient-facebook-auth": "~0.10.0",
64 | "afterlogic/aurora-module-google": "~0.10.0",
65 | "afterlogic/aurora-module-webclient-google-auth": "~0.10.0",
66 | "afterlogic/aurora-module-webclient-oauth-integrator": "~0.10.0",
67 |
68 | "afterlogic/aurora-module-mail": "~0.10.0",
69 | "afterlogic/aurora-module-webclient-mail": "~0.10.96",
70 | "afterlogic/aurora-module-webclient-mail-sensitivity-plugin": "~0.10.0",
71 | "afterlogic/aurora-module-webclient-change-password": "~0.10.0",
72 | "afterlogic/aurora-module-mail-notes-plugin": "~0.10.0",
73 | "afterlogic/aurora-module-webclient-openpgp": "~0.10.0",
74 | "afterlogic/aurora-module-min": "~0.10.0",
75 | "afterlogic/aurora-module-webclient-session-timeout": "~0.10.0",
76 | "afterlogic/aurora-module-webclient-settings": "~0.10.0",
77 | "afterlogic/aurora-module-webclient-standard-login-form": "~0.10.0",
78 | "afterlogic/aurora-module-mail-change-password-poppassd-plugin": "~0.10.0",
79 | "afterlogic/aurora-module-office-document-viewer": "~0.10.0",
80 | "afterlogic/aurora-module-webclient-mail-tnef-plugin": "~0.10.0",
81 | "afterlogic/aurora-module-webclient-mail-zip-plugin": "~0.10.0",
82 | "afterlogic/aurora-module-mail-save-message-as-pdf-plugin": "~0.10.0",
83 | "afterlogic/aurora-module-mail-auth-cpanel": "~0.10.0",
84 | "afterlogic/aurora-module-cpanel-integrator": "~0.10.0",
85 | "afterlogic/aurora-module-mail-signup-directadmin": "~0.10.0",
86 | "afterlogic/aurora-module-mail-signup-plesk": "~0.10.0",
87 | "afterlogic/aurora-module-two-factor-auth": "~0.10.0",
88 | "afterlogic/aurora-module-import-export-mail-plugin": "~0.10.0",
89 | "afterlogic/aurora-module-webclient-recaptcha-plugin": "~0.10.0",
90 | "afterlogic/aurora-module-mail-master-password": "~0.10.0",
91 | "afterlogic/aurora-module-webclient-mail-login-form": "~0.10.0",
92 |
93 | "afterlogic/aurora-module-override-user-settings": "~0.10.0",
94 | "afterlogic/aurora-module-standard-reset-password": "~0.10.0",
95 | "afterlogic/aurora-module-webclient-security-settings": "~0.10.0",
96 | "afterlogic/aurora-module-ip-allow-list": "~0.10.0"
97 | },
98 | "scripts": {
99 | "post-install-cmd": "@pre-config",
100 | "post-update-cmd": "@pre-config",
101 | "pre-config": [
102 | "[ -d data ] || mkdir data",
103 | "Aurora\\Installer::preConfigSafe"
104 | ],
105 | "force-config": [
106 | "[ -d data ] || mkdir data",
107 | "Aurora\\Installer::preConfigForce"
108 | ],
109 | "update-configs": [
110 | "Aurora\\Installer::updateConfigs"
111 | ]
112 | },
113 | "extra": {
114 | "aurora-installer-pre-config": "pre-config.json",
115 | "installer-types": ["aurora-module", "aurora-framework", "aurora-dev-tools"],
116 | "installer-paths": {
117 | "special/package/": ["my/package"],
118 | "modules/{$name}/": ["type:aurora-module"],
119 | "system/": ["type:aurora-framework"],
120 | "dev/": ["type:aurora-dev-tools"]
121 | }
122 | },
123 | "require-dev": {
124 | "phpstan/phpstan": "^1.9"
125 | }
126 | }
127 |
--------------------------------------------------------------------------------
/composer.phar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/afterlogic/webmail-lite-8/3fa1eb78644d15c4418cf2e132e333b9f699144e/composer.phar
--------------------------------------------------------------------------------
/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/afterlogic/webmail-lite-8/3fa1eb78644d15c4418cf2e132e333b9f699144e/favicon.ico
--------------------------------------------------------------------------------
/index.php:
--------------------------------------------------------------------------------
1 |
17 | */
18 |
19 | include_once 'system/autoload.php';
20 |
21 | \Aurora\System\Application::Start();
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "afterlogic-aurora-platform",
3 | "version": "9.0.0",
4 | "description": "",
5 | "homepage": "https://afterlogic.com/webmail-client",
6 | "repository": "https://github.com/afterlogic/webmail-pro-8",
7 | "author": {
8 | "name": "Afterlogic Corp.",
9 | "email": "support@afterlogic.com",
10 | "web": "http://afterlogic.com"
11 | },
12 | "license": "AGPL-3.0",
13 | "scripts": {
14 | "js:build": "node -e \"require('./modules/CoreWebclient/gulp-tasks/javascript.js').default.build()\"",
15 | "js:min": "node -e \"require('./modules/CoreWebclient/gulp-tasks/javascript.js').default.min()\"",
16 | "js:watch": "node -e \"require('./modules/CoreWebclient/gulp-tasks/javascript.js').default.watch()\"",
17 | "styles:build": "node -e \"require('./modules/CoreWebclient/gulp-tasks/styles.js').default.build()\"",
18 | "styles:cssonly": "node -e \"require('./modules/CoreWebclient/gulp-tasks/styles.js').default.cssonly()\"",
19 | "styles:watch": "node -e \"require('./modules/CoreWebclient/gulp-tasks/styles.js').default.watch()\""
20 | },
21 | "dependencies": {
22 | "corewebclient": "file:./modules/CoreWebclient"
23 | }
24 | }
25 |
26 |
27 |
--------------------------------------------------------------------------------
/php-cs-fixer.phar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/afterlogic/webmail-lite-8/3fa1eb78644d15c4418cf2e132e333b9f699144e/php-cs-fixer.phar
--------------------------------------------------------------------------------
/phpstan.neon:
--------------------------------------------------------------------------------
1 | parameters:
2 | editorUrl: 'code -r -g %%file%%:%%line%%'
3 | level: 2
4 | paths:
5 | - modules
6 | - system
7 | excludePaths:
8 | - modules/OAuthIntegratorWebclient/Classes/OAuthClient
9 | - modules/TwoFactorAuth/Classes/WebAuthn
10 | - modules/AdminPanelWebclient/vue/node_modules
11 | - modules/Licensing/classes/KI.php
12 | universalObjectCratesClasses:
13 | - Sabre\VObject\Property
14 | - Sabre\VObject\Component
15 | - Sabre\VObject\Component\VCard
16 | - \Sabre\VObject\Component\VEvent
17 | - \Sabre\VObject\Component\VCalendar
18 | # if set to false suppresses 'No error to ignore' errors
19 | reportUnmatchedIgnoredErrors: true
20 | ignoreErrors:
21 | -
22 | message: '#Property Aurora\\System\\Utils\\Ldap#'
23 | reportUnmatched: false
24 | path: system/Utils/Ldap.php
25 |
--------------------------------------------------------------------------------
/pre-config.json:
--------------------------------------------------------------------------------
1 | {
2 | "system": {
3 | "XFrameOptions": "SAMEORIGIN"
4 | },
5 | "modules": {
6 | "Core": {
7 | "SiteName": "Afterlogic WebMail Lite PHP",
8 | "ProductName": "Afterlogic WebMail Lite PHP",
9 | "EnableFailedLoginBlock": true,
10 | "LoginBlockAvailableTriesCount": 10,
11 | "LoginBlockDurationMinutes": 3
12 | },
13 | "CoreWebclient": {
14 | "HeaderModulesOrder": ["mail", "contacts"],
15 | "DefaultAnonymScreenHash": "login",
16 | "DefaultUserScreenHash": "mail",
17 | "ThemeList": ["Default", "DefaultDark", "DeepForest", "Funny", "Sand"]
18 | },
19 | "Dav": {
20 | "Disabled": true
21 | },
22 | "SessionTimeoutWebclient": {
23 | "Disabled": true
24 | },
25 | "Dropbox": {
26 | "Disabled": true
27 | },
28 | "DropboxAuthWebclient": {
29 | "Scopes": "auth"
30 | },
31 | "Mail": {
32 | "MessagesSortBy": {
33 | "Allow": true,
34 | "List": [],
35 | "DefaultSortBy": "arrival",
36 | "DefaultSortOrder": "desc"
37 | },
38 | "AllowDefaultAccountForUser": true,
39 | "AutocreateMailAccountOnNewUserFirstLogin": true,
40 | "XOriginatingIPHeaderName": ""
41 | },
42 | "MailWebclient": {
43 | "AllowSearchMessagesBySubject": true
44 | },
45 | "OAuthIntegratorWebclient": {
46 | "AllowNewUsersRegister": false
47 | },
48 | "ChangePasswordWebclient": {
49 | "Disabled": true
50 | },
51 | "MailChangePasswordPoppassdPlugin": {
52 | "Disabled": true
53 | },
54 | "MailSaveMessageAsPdfPlugin": {
55 | "Disabled": true
56 | },
57 | "MailTnefWebclientPlugin": {
58 | "Disabled": true
59 | },
60 | "MailAuthCpanel": {
61 | "Disabled": true
62 | },
63 | "MailSignupDirectadmin": {
64 | "Disabled": true
65 | },
66 | "MailSignupPlesk": {
67 | "Disabled": true
68 | },
69 | "CpanelIntegrator": {
70 | "Disabled": true
71 | },
72 | "StandardLoginFormWebclient": {
73 | "UseDropdownLanguagesView": true,
74 | "BottomInfoHtmlText": "Powered by Afterlogic WebMail Lite"
75 | },
76 | "RecaptchaWebclientPlugin": {
77 | "Disabled": true
78 | },
79 | "MailMasterPassword": {
80 | "Disabled": true
81 | },
82 | "MailNotesPlugin": {
83 | "Disabled": true
84 | },
85 | "MailLoginFormWebclient": {
86 | "Disabled": true,
87 | "UseDropdownLanguagesView": true,
88 | "BottomInfoHtmlText": "Powered by Afterlogic WebMail Lite"
89 | },
90 | "SecuritySettingsWebclient": {
91 | "Disabled": true
92 | },
93 | "IPAllowList": {
94 | "Disabled": true
95 | },
96 | "TwoFactorAuth": {
97 | "Disabled": true,
98 | "FacetIds": [
99 | "android:apk-key-hash:fbENTvCSeR-AwJV5rrrBsb98p-jEw0c5SSOMul_KwaI",
100 | "android:apk-key-hash:ruyLw8eJtT5fZ1ZusXSCHTp0yMZIlr6CVx5kq76ApiQ",
101 | "android:apk-key-hash:aEdaWviMajF83fPsXVc1yaZVUy1OiKakbZqP62f5D48"
102 | ]
103 | },
104 | "OverrideUserSettings": {
105 | "Disabled": true
106 | },
107 | "Contacts": {
108 | "ImportContactsLink": "https://afterlogic.com/docs/webmail-lite-8/frequently-asked-questions/importing-contacts"
109 | },
110 | "StandardResetPassword": {
111 | "Disabled": true
112 | }
113 | }
114 | }
115 |
--------------------------------------------------------------------------------
/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Disallow: /
3 |
4 |
--------------------------------------------------------------------------------
/tests/postman_environment.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "b6cd2086-e4ca-06c2-7cd6-ab477a6f14b7",
3 | "name": "P8-env",
4 | "values": [
5 | {
6 | "enabled": true,
7 | "key": "Login",
8 | "value": "",
9 | "type": "text"
10 | },
11 | {
12 | "enabled": true,
13 | "key": "Password",
14 | "value": "",
15 | "type": "text"
16 | },
17 | {
18 | "enabled": true,
19 | "key": "ApiUrl",
20 | "value": "localhost",
21 | "type": "text"
22 | },
23 | {
24 | "enabled": true,
25 | "key": "AuthToken",
26 | "value": "",
27 | "type": "text"
28 | },
29 | {
30 | "enabled": true,
31 | "key": "SkipMethods",
32 | "value": "",
33 | "type": "text"
34 | },
35 | {
36 | "enabled": true,
37 | "key": "TestUserLogin",
38 | "value": "",
39 | "type": "text"
40 | },
41 | {
42 | "enabled": true,
43 | "key": "TestUserPass",
44 | "value": "",
45 | "type": "text"
46 | },
47 | {
48 | "enabled": true,
49 | "key": "UserId",
50 | "value": "",
51 | "type": "text"
52 | },
53 | {
54 | "enabled": true,
55 | "key": "AdminAuthToken",
56 | "value": "",
57 | "type": "text"
58 | }
59 | ],
60 | "timestamp": 1508147898503,
61 | "_postman_variable_scope": "environment",
62 | "_postman_exported_at": "2017-10-16T10:00:27.742Z",
63 | "_postman_exported_using": "Postman/5.3.0"
64 | }
--------------------------------------------------------------------------------