Troubleshooting Common Issues in Mercury/32 Mail Transport System

Troubleshooting Common Issues in Mercury/32 Mail Transport System

1. Mail Queues Stuck or Messages Not Delivering

  • Symptom: Outgoing messages remain in the queue and are not sent.
  • Likely causes: DNS resolution failures, SMTP relay misconfiguration, ISP blocking port 25, corrupted queue files.
  • Fixes:
    1. Check DNS: Verify server can resolve MX records for recipient domains.
      • Command (Windows):

      Code

      nslookup -type=mx example.com
    2. Test SMTP connectivity: Use telnet to connect to destination SMTP on port 25.

      Code

      telnet mail.example.com 25

      If connection fails, check firewall/ISP blocking.

    3. Verify relay settings: In Mercury/32’s MercuryC (SMTP) configuration, confirm smart host or relay host is correct and accessible.
    4. Inspect queue files: Stop Mercury, back up and inspect the queue directory for corrupted files; move suspect files to a separate folder and restart.
    5. Restart services: Restart Mercury/32 and any dependent DNS/SMTP relay services.

2. Cannot Receive External Mail

  • Symptom: External senders report delivery failures; local sending works.
  • Likely causes: ISP blocking inbound port 25, missing MX record, firewall/NAT misconfiguration, incorrect listening interface.
  • Fixes:
    1. Check MX and A records: Ensure MX points to your public IP or hostname and that A record resolves correctly.
    2. Port forwarding/NAT: Confirm router forwards port 25 to the Mercury host’s internal IP.
    3. Firewall rules: Allow inbound TCP port 25 on host and network firewalls.
    4. Listen address: In MercuryC settings, ensure the server is set to listen on the correct interface (or all interfaces).
    5. ISP restrictions: Contact ISP to confirm they permit running an SMTP server or use an external relay.

3. Authentication Failures for SMTP/POP/IMAP

  • Symptom: Users cannot authenticate to send or retrieve mail.
  • Likely causes: Wrong user credentials, authentication module misconfiguration, password database corruption.
  • Fixes:
    1. Verify credentials: Test with a known-good account and reset a user password if needed.
    2. Authentication settings: In Mercury’s MercuryS (POP) and MercuryE (IMAP) modules, confirm authentication method matches the user database (local users vs. domain controllers).
    3. Check user database: Inspect the Mercury user/password file for format errors; restore from backup if corrupted.
    4. Enable logging: Turn on authentication logging to capture failure reasons.

4. High Resource Usage / Performance Issues

  • Symptom: Server CPU, memory, or disk I/O is high during mail processing.
  • Likely causes: Large mail queue, spam flood, inefficient antivirus scanning, insufficient hardware.
  • Fixes:
    1. Inspect queues and logs: Identify spikes in incoming mail or repeated delivery attempts.
    2. Rate limiting and connection controls: Configure connection throttling in MercuryC to limit concurrent connections.
    3. Spam filtering: Implement or tune spam filtering to reduce processing load; consider using external filtering service.
    4. Antivirus integration: Ensure on-access scanning is optimized; consider offloading heavy scans to a gateway.
    5. Hardware upgrade: Increase RAM, CPU, or I/O performance if consistently resource-bound.

5. Message Corruption or Incorrect Headers

  • Symptom: Recipients see broken formatting, missing attachments, or altered headers.
  • Likely causes: MTA reformatting, incorrect MIME handling, CRLF translation issues, virus/wrapping tools.
  • Fixes:
    1. Check MIME handling: Ensure Mercury’s MIME and encoding settings are correct and that any bridging software preserves MIME parts.
    2. Inspect transports/filters: Disable intermediate filters (antivirus/spam/gateways) to isolate the source of corruption.
    3. CRLF settings: Verify that line ending translations (CRLF) aren’t being altered incorrectly by any component.
    4. Test with raw messages: Send a simple multipart message and capture the SMTP transcript to compare before/after.

6. Logging and Diagnostics—How to Gather Useful Data

  • Steps to collect diagnostic info:
    1. Enable verbose logging in Mercury modules (SMTP/POP/IMAP).
    2. Collect logs from the Mercury log directory and note timestamps of issues.
    3. Capture SMTP sessions using telnet or packet captures (Wireshark) for failed deliveries.
    4. Export queue snapshots by listing files in the queue directory and saving sample messages.
    5. Document environment: OS version, Mercury/32 version, network topology, any recent changes.

7. Quick Recovery Checklist (Actionable)

  1. Restart Mercury services.
  2. Verify DNS (A/MX) for affected domains.
  3. Test SMTP connectivity with telnet.
  4. Check firewall/NAT for port 25.
  5. Inspect and clear corrupted queue files (backup first).
  6. Verify user credentials and authentication settings.
  7. Enable verbose logs and collect samples for analysis.

8. When to Escalate

  • Repeated queue corruption after restart.
  • Evidence of compromised accounts or spamming from your server.
  • Data loss of user mailboxes.
  • Persistent performance issues after resource tuning.

If you want, I can generate specific telnet/SMTP session examples, a checklist tailored to your OS, or a step-by-step queue cleanup script—tell me which one you prefer.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *