Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Parth-420/Zapmail/llms.txt
Use this file to discover all available pages before exploring further.
Emails not appearing
Email sent but not showing in inbox
If you’ve sent an email to your temporary address but it’s not appearing in the inbox, try these steps:Verify the recipient address
Double-check that the email was sent to the exact address shown in Zapmail. The username is case-sensitive and must match exactly.The backend extracts the username using
strings.Split(rcpt, "@") (backend/main.go:163-170), so any typos will result in the email being stored under a different username.Refresh your browser
Manually refresh the page or wait for the automatic refresh cycle. The frontend polls the API for new emails at regular intervals.
Check if email was received by the server
If you have access to server logs, check for entries showing the email was received:These log messages indicate the SMTP server successfully received the email.
Email rejected with error code
If the sending server reports an error when trying to deliver to your Zapmail address: 500 Unrecognized command- The sending server used an SMTP command not supported by Zapmail
- See the list of supported commands:
HELO, EHLO, MAIL FROM, RCPT TO, DATA, NOOP, VRFY, HELP, EXPN, QUIT(backend/main.go:101-102)
- The SMTP server received the email but couldn’t save it to the database
- This indicates a database connection or query execution error
- Check the Supabase connection and database schema
Connection issues
Cannot connect to SMTP server
If external mail servers cannot connect to your Zapmail SMTP server:Server not listening
Server not listening
Symptoms: Connection refused or timeout errorsDiagnosis:
-
Check if the server is running:
-
Verify the server is listening on the correct port:
-
Check server startup logs:
- Ensure the
PORTenvironment variable is set (backend/main.go:40-43) - Verify the server process started without errors
- Check that no other service is using the same port
Firewall blocking connections
Firewall blocking connections
Symptoms: External connections time out, but local connections workSolutions:You should see:
- Open the SMTP port in your firewall (e.g., port 2525)
- Configure cloud provider security groups to allow inbound TCP traffic on the SMTP port
- Verify the server is bound to
0.0.0.0(all interfaces) not just127.0.0.1(localhost)
Database connection failure
Database connection failure
Symptoms: Server starts but crashes when trying to store emailsError messages:Solutions:
- Verify
SUPABASE_CONN_STRINGenvironment variable is set correctly - Test database connectivity:
- Check Supabase project status and connection limits
- Verify the
emailstable exists with correct schema
backend/main.go:179-181):Frontend cannot reach API
If the web interface loads but cannot fetch emails:- Check API endpoint configuration - Verify the Next.js app is configured with the correct API URL
- CORS issues - Ensure the backend allows requests from the frontend domain
- Network connectivity - Test the API endpoint directly using curl or Postman
Deployment problems
Environment variables not set
The backend requires specific environment variables to function:Docker deployment issues
Container exits immediately
Container exits immediately
Check logs:Common issues:
- Missing environment variables
- Database connection failure
- Port already in use on host
Cannot access server from host
Cannot access server from host
Ensure the port is properly mapped:The first port (2525) is the host port, the second is the container port. They should match the
PORT environment variable.Build failures
When building the Go backend:Build command
Missing dependencies
Missing dependencies
Performance issues
Slow email delivery
The SMTP server processes each connection in a separate goroutine (backend/main.go:60), allowing concurrent processing. If emails are slow to arrive:
- Check server load - Monitor CPU and memory usage
- Database performance - Slow inserts may indicate database issues
- Network latency - Test connection speed to your database
Memory usage growing
If memory usage continuously increases:-
Verify cleanup job is running - Check logs for:
-
Check for connection leaks - Ensure connections are being closed properly
- The
defer conn.Close()atbackend/main.go:66should close each connection
- The
- Database connection pooling - Monitor active database connections
Getting help
If you’re still experiencing issues:- Check server logs for error messages
- Review the Architecture guide for debugging tips
- Verify your configuration matches the Quickstart instructions
- Test SMTP connectivity using telnet or similar tools
When reporting issues, include:
- Error messages from server logs
- SMTP response codes received
- Steps to reproduce the problem
- Your deployment environment (local, Docker, cloud platform)