Skip to content

Repository files navigation

Email to Telegram

License

This project forwards incoming email from designated Gmail accounts to specific topics in an Arizona Free Flight Telegram group.

The system currently supports two forwarding paths:

  • Rescue: rescueAddress → Rescue topic
  • Retrieve: retrieveAddress → Retrieve topic

Each path is independent at the Gmail/Pub/Sub/Cloud Function level while sharing the Telegram bot and Google Cloud project.

Architecture at a glance

Gmail account
    │
    │ Gmail watch
    ▼
Google Pub/Sub topic
    │
    │ notification
    ▼
Cloud Function: email-to-telegram-*
    │
    │ Gmail API
    │ Telegram Bot API
    ▼
Arizona Free Flight Telegram topic

Gmail watches have a finite lifetime, so each path also has a scheduled renewal function:

Cloud Scheduler
    │
    │ daily at 06:00 America/Phoenix
    ▼
Cloud Function: renew-gmail-watch-*
    │
    ▼
Gmail API users.watch()

Documentation

  • Overview — purpose, scope, and system inventory
  • Design — architecture and implementation
  • Operations — deployment, verification, monitoring, and troubleshooting
  • Maintenance — changing the system and adding forwarding paths
  • Contributing — development workflow and repository portability

Quick operational checks

From the email2telegram/ directory:

gcloud functions list   --project=email-to-telegram-455900   --regions=us-central1   --format="table(name.basename(),buildConfig.runtime,state)"
gcloud scheduler jobs list   --location=us-central1   --project=email-to-telegram-455900   --format="table(name.basename(),state,schedule,timeZone)"

The four production functions should normally be python313 and ACTIVE, and both Scheduler jobs should be ENABLED.

License

This project is licensed under the Apache License, Version 2.0.

See the LICENSE file for the complete license text.

Copyright 2026 John R. Wolfe

About

Forward incoming email to a specific topic within a Telegram group

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages