| # 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 |
| ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ |
|
|
| 1. 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) |
|
|
| 2. 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) |
|
|
| 3. 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) |
|
|
| 4. 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 |
|
|
| ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ |
|
|