Commit Graph

23 Commits

Author SHA1 Message Date
master3395
f9c1c28385 Fix catch-all bootstrap when e_catchall is missing.
Add runtime table self-healing for catch-all/plus/pattern email features and make upgrade SQL idempotent on existing latin1 installations by avoiding failing FK creation while preserving forwarding compatibility.
2026-04-09 13:42:03 +02:00
master3395
4d62272664 Merge upstream v2.4.5 into v2.5.5-dev for full stack parity
Integrates webmail and emailDelivery apps, mail-server and install/upgrade
paths, cyberpanel_ols 2.7.0-style binaries, and v2.4.5 UI patterns while
preserving v2.5.5-dev behavior (SnappyMail/PUBLIC_ROOT, childPath in
launchChild, hardened downloads and SSH activity modal).
2026-03-25 20:36:51 +01:00
usmannasir
28113d97a7 Security fixes for webmail and emailDelivery apps
- Fix command injection in relay config: use shlex.quote() on all
  subprocess arguments passed to mailUtilities.py
- Fix XSS in email reply/forward: html.escape() on From/To/Date/Subject
  headers before embedding in quoted HTML
- Fix attachment filename traversal: use os.path.basename() and strip
  null bytes from attachment filenames
- Fix Sieve script name injection: sanitize names to alphanumeric chars
- Fix SSRF in image proxy: resolve hostname to IP and check against
  ipaddress.is_private/is_loopback/is_link_local/is_reserved
- Remove internal error details from user-facing responses
- Update Access Webmail link from /snappymail/ to /webmail/
2026-03-06 03:27:45 +05:00
usmannasir
1e00f6eff5 Add CyberMail Email Delivery integration
- New emailDelivery Django app with full platform API integration
- Account connection, domain management, SMTP credentials, relay config
- Auto-configure SPF/DKIM/DMARC DNS records via PowerDNS
- Postfix SMTP relay through CyberMail (configureRelayHost/removeRelayHost)
- Real-time delivery logs, stats, and per-domain analytics
- Single-page AngularJS dashboard with marketing landing page
- Promotional banners on 6 email-related pages with dismiss cookie
- Manual SQL table creation in upgrade.py for existing installs
- Documentation: setup guide, technical reference, user guide
2026-03-06 00:19:53 +05:00
master3395
27b664c3a9 Email Limits fix: controller registration, getEmailsForDomain permission, deploy script
- mailServer: inline EmailLimitsNew controller in footer_scripts, getEmailsForDomain allows emailForwarding
- mailServer.js: EmailLimitsNew guard for $scope.emails, remove console.log
- emailLimitsController.js: add standalone controller, fix PNotify check
- Add deploy-email-limits-fix.sh and EMAIL-LIMITS-DEPLOY-CHECKLIST.md
- Sync mailServer static files in both mailServer/static and static/
2026-02-04 02:19:28 +01:00
Master3395
ff382f2d78 Implement Catch-All Email Configuration Management
- Added new model `CatchAllEmail` to store catch-all email configurations per domain.
- Implemented views for fetching, saving, and deleting catch-all email configurations, enhancing email management capabilities.
- Updated URL routing to include endpoints for catch-all email operations.
- Enhanced error handling and permission checks for email forwarding actions.

These changes improve the flexibility and user experience of email management within CyberPanel.
2025-12-31 22:18:33 +01:00
usmannasir
36f7068e1d Fix: Use upgrade.py for email filtering tables instead of Django migrations
- Remove Django migration file that caused model resolution errors
- Add CREATE TABLE statements to mailServerMigrations() in upgrade.py
- Tables created: e_catchall, e_server_settings, e_plus_override, e_pattern_forwarding
2025-11-28 15:08:49 +05:00
usmannasir
3c16b934af Fix migration: use raw SQL for tables since existing models lack migrations 2025-11-28 15:05:44 +05:00
usmannasir
082c63bfa9 Add advanced email filtering features: catch-all, plus-addressing, and pattern forwarding
Features:
- Catch-All Email: Forward unmatched emails for a domain to a single address
- Plus-Addressing: Enable user+tag@domain.com delivery with configurable delimiter
- Pattern Forwarding: Wildcard and regex-based email forwarding rules

Implementation:
- New database models: CatchAllEmail, EmailServerSettings, PlusAddressingOverride, PatternForwarding
- New UI pages with AngularJS controllers
- Backend methods in mailserverManager.py with ACL permission checks
- Auto-generates /etc/postfix/virtual_regexp for pattern rules
- Menu items added under Email section
2025-11-28 14:22:34 +05:00
Master3395
c525af21c5 Implement disk usage refresh feature for email accounts. Add a new endpoint and corresponding view to refresh disk usage, ensuring accurate display in the UI. Update JavaScript and HTML templates to support the new functionality, enhancing user experience with real-time updates. Refactor disk usage calculation for improved accuracy and error handling. 2025-09-19 01:09:48 +02:00
Master3395
1a82700f51 Update PHP version references and improve AlmaLinux 9 compatibility
- Changed PHP symlink from version 8.0 to 8.3 in various scripts to ensure compatibility with the latest PHP version.
- Updated documentation links in the FAQ to point to the new community support page.
- Added checks and fixes for MariaDB installation issues specific to AlmaLinux 9.
- Enhanced the installation script to support additional PHP versions and improve overall installation reliability.
2025-09-15 01:25:52 +02:00
Master3395
0773d8d9a4 Add cosmetic context processor and update templates for custom CSS
- Introduced a new `cosmetic_context` processor to provide custom CSS data to templates.
- Updated `settings.py` to include the new context processor.
- Modified multiple HTML templates to utilize the `cosmetic` variable for dynamic CSS styling.
- Enhanced user interface elements with improved styling and accessibility features, including ARIA labels for form controls.
2025-09-13 18:38:57 +02:00
Master3395
97fd4e055a Enhance security by adding rel="noopener" to external links
- Updated multiple HTML templates to include rel="noopener" on links that open in a new tab, improving security by preventing potential reverse tabnabbing attacks.
- This change affects various templates across the backup, base, file manager, mail server, and website functions sections.
2025-09-13 17:44:37 +02:00
Master3395
3d72839b33 Fix mirror gettoforge
https://github.com/usmannasir/cyberpanel/issues/1499
2025-09-12 09:42:52 +02:00
Master3395
41ead838ef Add sieve by default.
Add sieve by default.
2025-09-10 20:01:52 +02:00
Master3395
c06533b986 Fix ALL documentation links.
Fix ALL documentation links.
2025-09-08 11:50:35 +02:00
usmannasir
09eac4de1c bug fix: snappymail on ubuntu 24 2025-08-31 19:55:56 +05:00
usmannasir
f1f779c618 bug fix: snappymail on ubuntu 24 2025-08-31 13:16:22 +05:00
usmannasir
c4c853ea41 bug fix: snappymail on ubuntu 24 2025-08-30 23:40:20 +05:00
usmannasir
be3c66128c bug fix: postfix/dovecot on alma9 2025-08-19 18:36:48 +05:00
usmannasir
58d301e994 add/delete records 2025-08-05 15:35:56 +05:00
usmannasir
ddfa20cc75 dark mode 2025-08-02 21:08:15 +05:00
usmannasir
6dd7114f6d Initial commit for v2.4.3 2025-08-01 14:56:30 +05:00