6.1 KiB
Email Forwarding Setup Guide
=============================
This system forwards emails from your domains to a Gmail inbox,
then polls that inbox and forwards emails to your Telegram admin bot.
NO AUTO-REPLIES - emails appear in Telegram for admin review.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SETUP STEPS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
-
CREATE GMAIL RECEIVER ACCOUNT
Create a new Gmail account (or use existing):
Example: rugmunch.admin@gmail.com
IMPORTANT: Enable 2FA and create an App Password:
- Go to: https://myaccount.google.com/security
- Enable 2-Step Verification (if not already)
- Go to: https://myaccount.google.com/apppasswords
- Create a new app password (select "Mail" and your device)
- COPY THE 16-CHARACTER PASSWORD (no spaces)
You'll need:
- Email: rugmunch.admin@gmail.com (or your choice)
- App Password: XXXX XXXX XXXX XXXX (16 chars)
-
CONFIGURE CLOUDFLARE EMAIL ROUTING
For rugmunch.io:
-
Log in to Cloudflare dashboard
-
Go to your rugmunch.io zone
-
Click "Email" → "Email Routing"
-
Click "Add Route"
-
Create these addresses (all forward to same Gmail):
admin@rugmunch.io → rugmunch.admin@gmail.com support@rugmunch.io → rugmunch.admin@gmail.com contact@rugmunch.io → rugmunch.admin@gmail.com
For cryptorugmunch.com:
-
Go to your cryptorugmunch.com zone
-
Click "Email" → "Email Routing"
-
Click "Add Route"
-
Create these addresses:
admin@cryptorugmunch.com → rugmunch.admin@gmail.com team@cryptorugmunch.com → rugmunch.admin@gmail.com info@cryptorugmunch.com → rugmunch.admin@gmail.com
IMPORTANT: Make sure Email Routing is ENABLED (toggle ON)
-
-
CONFIGURE BACKEND ENVIRONMENT VARIABLES
Add these to your /root/.secrets/project_envs/rmi-backend.env:
Email Forwarding
EMAIL_RECEIVER=rugmunch.admin@gmail.com EMAIL_PASSWORD=xxxx xxxx xxxx xxxx (app password, no spaces) TELEGRAM_ADMIN_CHAT_ID=123456789 (your admin Telegram chat ID) EMAIL_POLL_INTERVAL=60 # check every 60 seconds
Get your Telegram Chat ID:
- Message your bot: @userinfobot
- Send any message
- It will reply with your ID (e.g., 123456789)
-
START RESTART BACKEND
Restart your backend service:
sudo systemctl restart rmi-backend
Or if running manually: cd /srv/rmi/backend source venv/bin/activate python main.py
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
VERIFICATION ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Check logs for email polling startup: sudo journalctl -u rmi-backend -f
You should see: [RMI] 📧 Email polling enabled - starting IMAP service
Send a test email to: admin@rugmunch.io
Wait 1-2 minutes. You should receive a Telegram message in your admin chat:
📧 New Email
From: sender@example.com Domain: rugmunch.io Subject: Test Email Time: 2026-05-01 12:34:56
━━━━━━━━━━━━━━━━━━━━
This is the email body...
Inbox: rugmunch.admin@gmail.com
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
FAQ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Q: Can users reply to these emails? A: Emails can be replied to (standard email), but your system won't auto-reply. Admins review in Telegram and respond manually via their email client.
Q: What happens if Gmail IMAP fails? A: The poller logs errors and retries on next interval. Emails are marked as read, so they won't be re-sent to Telegram.
Q: Can I forward to a different email? A: Yes, just change EMAIL_RECEIVER to any Gmail/IMAP-enabled address. You'll need an app password for Gmail.
Q: How many emails can I receive? A: Gmail free accounts: 15GB storage (roughly 10,000+ emails) Cloudflare Email Routing: Unlimited forwards
Q: Do I need to configure MX records? A: NO! Cloudflare Email Routing handles this automatically when you enable Email Routing for your zone.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TROUBLESHOOTING ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
"IMAP login failed":
- Check EMAIL_PASSWORD is correct (use app password, not regular password)
- Ensure IMAP is enabled in Gmail settings
- Try logging into Gmail IMAP manually: telnet imap.gmail.com 993
"No emails appearing in Telegram":
- Verify Cloudflare Email Routing is ENABLED
- Check that emails are actually arriving in Gmail inbox
- Look at backend logs for polling errors
- Wait up to 2 minutes (poll interval)
"Duplicate emails in Telegram":
- Emails are marked as read after first poll
- Check Gmail isn't moving emails back to inbox
- Reset seen_message_ids by restarting backend
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━