Skip to content

System Configuration

Core system settings that affect overall Mailborder operation.

Accessing System Configuration

Navigate to System SettingsGeneral in the web interface.

Or via command line:

sudo mb-config show system

General Settings

System Identification

System Name

The friendly name for this Mailborder server.

  • Displayed in the web interface header
  • Used in email headers (X-Mailborder-Server)
  • Appears in log identification
  • Default: Mailborder V6

Example:

System Name: Mailborder - Main Office

Command Line:

sudo mb-config set system.name "Mailborder - Main Office"

Hostname

The fully qualified domain name (FQDN) of this server.

  • Should match your DNS A record
  • Must match reverse DNS (PTR) record
  • Used in SMTP HELO/EHLO
  • Critical for mail delivery reputation

Example:

Hostname: mailborder.example.com

Requirements: - Valid FQDN format - Resolves to server IP - PTR record matches

Command Line:

sudo hostnamectl set-hostname mailborder.example.com
sudo mb-config set system.hostname mailborder.example.com

Administrator Contact

Administrator Email

Primary email address for system notifications.

  • Receives system alerts
  • Update notifications
  • Error reports
  • License expiration warnings

Important: This address should be deliverable and monitored. Don't use an address that's filtered through this Mailborder instance (creates chicken-and-egg problem during outages).

Example:

Administrator Email: admin@example.com

Alternative: Use an external email service (Gmail, etc.) or a different mail server.

Command Line:

sudo mb-config set system.admin_email admin@example.com

Localization

Timezone

System timezone for logs, schedules, and user interface.

  • Affects log timestamps
  • Affects scheduled task execution
  • Affects quarantine digest delivery times
  • Default: UTC

Common Timezones: - America/New_York - US Eastern - America/Chicago - US Central - America/Denver - US Mountain - America/Los_Angeles - US Pacific - Europe/London - UK - Europe/Paris - Central Europe - Asia/Tokyo - Japan - Australia/Sydney - Australia

View Available Timezones:

timedatectl list-timezones

Set Timezone:

Via Web Interface: System SettingsGeneralTimezone

Via Command Line:

sudo timedatectl set-timezone America/New_York
sudo mb-config set system.timezone America/New_York

Default Language

Default interface language for new users.

  • 56 languages available
  • Users can override with personal preference
  • Default: en (English)

Command Line:

sudo mb-config set system.default_language en

Resource Limits

Control system resource usage to prevent runaway processes.

Process Limits

Maximum Concurrent Scans

Number of simultaneous email scanning processes.

  • Higher = more throughput but more CPU usage
  • Lower = less load but potential queue backup
  • Recommended: 2× CPU core count
  • Default: Auto-detected based on CPU cores

Example: 8-core server → 16 concurrent scans

Command Line:

sudo mb-config set system.max_concurrent_scans 16

Maximum Queue Size

Maximum number of emails in the processing queue.

  • Protects against memory exhaustion
  • Queue full = reject new email temporarily (SMTP 421)
  • Recommended: 1000× daily average hourly volume
  • Default: 10000

Example: 10,000 emails/day average → 500/hour → 50,000 queue limit

Command Line:

sudo mb-config set system.max_queue_size 50000

Memory Limits

PHP Memory Limit

Maximum memory for PHP processes.

  • Affects web interface and RPC daemon
  • Increase for high-volume environments
  • Default: 512M

Recommended Values: - Small: 256M (< 1000 mailboxes) - Medium: 512M (1000-5000 mailboxes) - Large: 1024M (5000+ mailboxes)

Command Line:

sudo mb-config set system.php_memory_limit 512M
sudo systemctl reload php8.1-fpm

Scanning Process Memory Limit

Maximum memory for email scanning processes.

  • Affects spam/virus scanning
  • Large emails or archives may need more
  • Default: 256M

Command Line:

sudo mb-config set system.scan_memory_limit 256M

Email Size Limits

Maximum Message Size

Maximum size of individual email message.

  • Includes headers, body, and all attachments
  • Larger emails rejected at SMTP level
  • Default: 50M (52428800 bytes)

Recommended Values: - Conservative: 10M - Faster scanning, less storage - Standard: 25M - Balance performance and usability - Permissive: 50M - Support large attachments - Enterprise: 100M - High-capacity needs

Command Line:

sudo mb-config set system.max_message_size 52428800

Maximum Attachment Size

Maximum size of individual attachment.

  • Per-attachment limit (not total)
  • Applied after message size check
  • Default: 25M

Command Line:

sudo mb-config set system.max_attachment_size 26214400

Performance Settings

Database

Connection Pool Size

Number of persistent database connections.

  • Higher = more concurrent requests
  • Too high = database overload
  • Recommended: 10-50
  • Default: 20

Command Line:

sudo mb-config set database.pool_size 20

Query Timeout

Maximum time for database queries.

  • Long-running queries killed after timeout
  • Prevents hung processes
  • Default: 30 seconds

Command Line:

sudo mb-config set database.query_timeout 30

Cache

Redis Cache TTL

Time-to-live for cached data.

  • Language files: 3600 seconds (1 hour)
  • User metadata: 1800 seconds (30 minutes)
  • System config: 300 seconds (5 minutes)

Command Line:

sudo mb-config set cache.ttl.language 3600
sudo mb-config set cache.ttl.user_meta 1800
sudo mb-config set cache.ttl.system 300

Cache Eviction Policy

How Redis evicts data when memory is full.

  • allkeys-lru - Evict least recently used (recommended)
  • volatile-lru - Evict LRU with expiration set
  • noeviction - Return errors when full

Command Line:

sudo mb-config set cache.eviction_policy allkeys-lru

Update Settings

Automatic Updates

Signature Updates

Virus and spam signature updates.

  • Enabled (recommended): Automatic updates every 4 hours
  • Manual: Update on demand only
  • Default: Enabled

Command Line:

sudo mb-config set updates.signatures.auto true
sudo mb-config set updates.signatures.interval 14400

System Updates

Operating system and Mailborder package updates.

  • Security Only: Automatic security patches
  • All Updates: All available updates
  • Manual: No automatic updates
  • Default: Security Only

Command Line:

sudo mb-config set updates.system.mode security

Update Schedule

When to check for and apply updates.

  • Time of day (24-hour format)
  • Low-volume periods recommended (e.g., 3 AM)
  • Default: 03:00

Command Line:

sudo mb-config set updates.schedule "03:00"

Reboot Policy

Whether to automatically reboot after kernel updates.

  • Never: Manual reboot required
  • Prompt: Notify administrator, wait for confirmation
  • Auto: Automatic reboot at scheduled time
  • Default: Prompt

Command Line:

sudo mb-config set updates.reboot_policy prompt
sudo mb-config set updates.reboot_time "04:00"

Notification Settings

Email Notifications

Alert Email Recipients

Who receives system alerts.

  • Comma-separated list of email addresses
  • Should be reliable, external addresses
  • Default: Administrator email

Command Line:

sudo mb-config set notifications.email.recipients "admin@example.com,ops@example.com"

Alert Thresholds

When to send alerts.

Disk Space Warning - Alert when disk usage exceeds threshold - Default: 80%

Memory Warning - Alert when RAM usage exceeds threshold - Default: 85%

Queue Warning - Alert when queue size exceeds threshold - Default: 75% of max queue size

Service Failure - Always alert when service stops unexpectedly - Default: Enabled

Command Line:

sudo mb-config set notifications.threshold.disk 80
sudo mb-config set notifications.threshold.memory 85
sudo mb-config set notifications.threshold.queue 75

Alert Frequency

Minimum Alert Interval

Minimum time between duplicate alerts.

  • Prevents alert spam
  • Default: 3600 seconds (1 hour)

Command Line:

sudo mb-config set notifications.min_interval 3600

System Maintenance

Automatic Cleanup

Log Retention

How long to keep log files.

  • Email logs: 90 days (recommended)
  • System logs: 30 days
  • Authentication logs: 180 days (compliance)
  • Debug logs: 7 days

Command Line:

sudo mb-config set maintenance.log_retention.email 90
sudo mb-config set maintenance.log_retention.system 30
sudo mb-config set maintenance.log_retention.auth 180

Quarantine Retention

How long to keep quarantined emails.

  • Default: 14 days
  • Longer retention = more storage needed
  • Automatic deletion after expiration

Command Line:

sudo mb-config set maintenance.quarantine_retention 14

Database Optimization

Automatic database optimization schedule.

  • Optimize tables weekly
  • Runs during low-usage hours
  • Default: Sunday at 2:00 AM

Command Line:

sudo mb-config set maintenance.db_optimize.enabled true
sudo mb-config set maintenance.db_optimize.schedule "0 2 * * 0"

Backup

Automatic Backup

Schedule for automatic backups.

  • Daily: Every day at specified time
  • Weekly: Specified day at specified time
  • Manual: On-demand only
  • Default: Daily at 1:00 AM

Command Line:

sudo mb-config set backup.schedule daily
sudo mb-config set backup.time "01:00"

Backup Retention

How many backup sets to keep.

  • Default: 7 daily backups
  • Oldest deleted automatically

Command Line:

sudo mb-config set backup.retention 7

Backup Location

Where to store backups.

  • Local: /var/backups/mailborder/
  • Remote: NFS, SMB, S3, etc.
  • Default: Local

Command Line:

sudo mb-config set backup.location /var/backups/mailborder

See Backup Configuration for details.

System Behavior

Service Management

Auto-Restart on Failure

Whether services automatically restart on crash.

  • Enabled (recommended): SystemD restarts failed services
  • Disabled: Manual intervention required
  • Default: Enabled

Max Restart Attempts

Number of restart attempts before giving up.

  • Prevents restart loops
  • Default: 5 attempts in 10 minutes

Command Line:

sudo mb-config set services.auto_restart true
sudo mb-config set services.max_restart_attempts 5

Debug Mode

Enable Debug Logging

Verbose logging for troubleshooting.

  • Generates LARGE log files
  • Only enable when troubleshooting
  • Default: Disabled

Command Line:

# Enable debug mode
sudo mb-config set system.debug true
sudo systemctl reload mb-*

# Disable debug mode
sudo mb-config set system.debug false
sudo systemctl reload mb-*

Debug Components

Which components to debug.

  • all - Everything (very verbose)
  • email - Email processing only
  • auth - Authentication only
  • services - Service lifecycle
  • Multiple: Comma-separated

Command Line:

sudo mb-config set system.debug_components "email,auth"

Applying Configuration Changes

After making configuration changes:

Via Web Interface

Changes are applied immediately when you click Save.

Via Command Line

Reload configuration:

# Reload all services
sudo systemctl reload mb-*

# Or reload specific service
sudo systemctl reload mb-rpcd

Verify Configuration

Check for errors:

sudo mb-config --verify

View current configuration:

sudo mb-config show system

Configuration File

Advanced users can edit the configuration file directly:

Location: /etc/mailborder/engine.cf

Format: Key-value pairs

system.name=Mailborder - Main Office
system.hostname=mailborder.example.com
system.admin_email=admin@example.com
system.timezone=America/New_York
system.max_message_size=52428800

Direct File Editing

Editing configuration files directly can break Mailborder if done incorrectly. Always backup first and validate syntax before reloading services.

After editing:

# Verify syntax
sudo mb-config --verify

# Reload configuration
sudo systemctl reload mb-*

Troubleshooting

Configuration Not Applied

Problem: Changes don't take effect

Solution:

# Reload services
sudo systemctl reload mb-*

# If reload doesn't work, restart
sudo systemctl restart mb-rpcd mb-filter mb-virtuoso

Configuration Validation Errors

Problem: mb-config --verify shows errors

Solution:

# View specific errors
sudo mb-config --verify --verbose

# Restore from backup
sudo mb-config restore --from /var/backups/mailborder/config/

# Reset to defaults (dangerous!)
sudo mb-config reset --section system --confirm

Service Won't Start After Configuration Change

Problem: Service fails to start after config change

Solution:

# Check service logs
sudo journalctl -u mb-rpcd -n 50

# Restore previous configuration
sudo mb-config restore

# Restart service
sudo systemctl restart mb-rpcd

Next Steps