├── .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 | [![Build Status](https://travis-ci.org/afterlogic/webmail-lite-8.svg?branch=master)](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 | ![Afterlogic WebMail Lite: Message List](https://afterlogic.org/images/products/wml8/afterlogic-webmail-lite-8-message-list.png) 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 | ![Afterlogic Webmail Lite 8: Message List](https://afterlogic.org/images/products/wml8/afterlogic-webmail-lite-8-message-list.png) 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 | ![Afterlogic Webmail Lite 9: Message List](https://afterlogic.org/images/products/wml8/afterlogic-webmail-lite-9-message-list.png) 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 | } --------------------------------------------------------------------------------