Files

98 lines
3.8 KiB
Markdown

# hMailServer Configuration Project
## Overview
Project to document and track hMailServer SMTP relay configuration issues and resolution.
## Background
### Problem
John's hMailServer was configured to use Mailjet as an SMTP relay for outbound email. However, Mailjet disabled the account because they detected emails being sent from "suspicious/banned" addresses.
### Initial Discovery
When investigating, John found that the flagged emails were all addresses that had sent spam TO his server (john@assettrackr.co), not emails he was sending out. This was confusing because:
1. Emails addressed TO his domain should be received locally, not sent back out through the relay
2. Mailjet shouldn't have seen these messages if they were inbound only
### Root Cause
The issue was that hMailServer was not configured with proper SMTP routes to distinguish between:
- **Local traffic** - emails destined for domains hosted on this server (should be delivered locally)
- **Remote traffic** - emails for external domains (should be relayed through Mailjet)
Without this routing configuration, all outbound SMTP traffic was being sent through the relay, including what should have been local deliveries.
## Configuration Details
### hMailServer SMTP Relay Settings (Before Fix)
```
Relay server: smtp-relay.mailjet.com
Port: 587
Connection security: STARTTLS (changed from None)
Authentication: Required
Username: [API Key]
Password: [API Secret]
```
### Solution: SMTP Routes Configuration
Created route configuration in hMailServer to mark `assettrackr.co` as a local domain.
**Location in hMailServer:**
- hMailServer Administrator → Routes → Add Route
**Route Configuration:**
```
Domain: assettrackr.co
Deliver to: Local delivery
```
This tells hMailServer that any email addressed to `@assettrackr.co` should be delivered locally to the mailbox, NOT sent out through the SMTP relay.
## Files Created
### /workspace/Projects/hmailserver-configuration/README.md
This file - project documentation
### /workspace/Projects/hmailserver-configuration/ROUTING-SOLUTION.md
The solution documentation (this file)
### /workspace/Projects/hmailserver-configuration/HMAILSERVER-CONFIG.md
Detailed configuration reference
## Links & References
- **hMailServer SMTP Relay Configuration Guide:** https://techssh.com/self-hosting/configure-hmailserver-with-smtp-relay/
- Section #4 covers SMTP routes configuration
- Demonstrates how to mark local domains vs remote domains
- **Mailjet SMTP Documentation:** https://dev.mailjet.com/email/guides/transmission/smtp/
- SMTP relay endpoint: smtp-relay.mailjet.com
- Port 587 with STARTTLS
- **hMailServer Routes Documentation:** https://www.hmailserver.com/documentation/latest/?page=routes
## Testing
### Test Performed
John sent an email from ProtonMail to `john@assettrackr.co` and confirmed:
1. ✅ Email was delivered locally to the mailbox
2. ✅ The ProtonMail sender address did NOT appear on the Mailjet relay account
3. ✅ This confirms the routing fix is working correctly
## Lessons Learned
1. **SMTP relay configuration requires route definitions** - Simply setting up the relay credentials isn't enough. You must explicitly tell hMailServer which domains should be delivered locally vs relayed.
2. **Inbound emails shouldn't be relayed** - Emails addressed to local domains should NEVER be sent out through an SMTP relay. They should be delivered directly to local mailboxes.
3. **Security best practices:**
- Always use STARTTLS or SSL/TLS for SMTP relay connections
- Never use "None" for connection security
- Regularly rotate API credentials
- Monitor relay usage to detect unauthorized access
## Status
✅ RESOLVED
The SMTP routing has been configured and tested. Local domains are now properly delivered locally instead of being sent through the Mailjet relay.