98 lines
3.8 KiB
Markdown
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.
|