{"id":29035353,"url":"https://github.com/vivekbargude/leetcode-daily-mailer","last_synced_at":"2026-05-17T08:33:36.886Z","repository":{"id":300970022,"uuid":"1007732160","full_name":"vivekbargude/leetcode-daily-mailer","owner":"vivekbargude","description":"📬 Automatically get the LeetCode Daily Challenge delivered to your inbox every day at 8:00 AM IST using GitHub Actions and Python — no servers or subscriptions required.","archived":false,"fork":false,"pushed_at":"2025-06-24T13:20:36.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-24T14:27:26.006Z","etag":null,"topics":["automation","cron-jobs","email-bot-python","github-actions","leetcode","leetcode-automation"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vivekbargude.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-24T12:51:45.000Z","updated_at":"2025-06-24T13:26:27.000Z","dependencies_parsed_at":"2025-06-24T14:38:29.009Z","dependency_job_id":null,"html_url":"https://github.com/vivekbargude/leetcode-daily-mailer","commit_stats":null,"previous_names":["vivekbargude/leetcode-daily-mailer"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vivekbargude/leetcode-daily-mailer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vivekbargude%2Fleetcode-daily-mailer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vivekbargude%2Fleetcode-daily-mailer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vivekbargude%2Fleetcode-daily-mailer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vivekbargude%2Fleetcode-daily-mailer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vivekbargude","download_url":"https://codeload.github.com/vivekbargude/leetcode-daily-mailer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vivekbargude%2Fleetcode-daily-mailer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262063486,"owners_count":23252765,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","cron-jobs","email-bot-python","github-actions","leetcode","leetcode-automation"],"created_at":"2025-06-26T12:08:17.551Z","updated_at":"2026-05-17T08:33:31.842Z","avatar_url":"https://github.com/vivekbargude.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\r\n````markdown\r\n# 📬 LeetCode Daily Challenge Email Bot\r\n\r\nAutomatically receive the **LeetCode Daily Coding Challenge** in your email inbox every day at **8:00 AM IST** using **GitHub Actions**.\r\n\r\nNo servers or paid services required — just GitHub + Gmail!\r\n\r\n---\r\n\r\n## 🚀 Features\r\n\r\n- 📌 Automatically fetches LeetCode's Daily Challenge using their GraphQL API\r\n- 📧 Sends a nicely formatted email to your inbox\r\n- ⏰ Fully automated using GitHub Actions (`cron`) — runs **daily**\r\n- 🔐 Keeps your credentials secure using GitHub Secrets\r\n\r\n---\r\n\r\n## 🛠️ How It Works\r\n\r\nThis project uses:\r\n- A Python script (`daily_leetcode.py`) to:\r\n  - Fetch the daily question from LeetCode\r\n  - Send it to your email\r\n- GitHub Actions (`.github/workflows/daily.yml`) to:\r\n  - Schedule the script to run every day at 8:00 AM IST (2:30 AM UTC)\r\n  - Run it without your intervention\r\n\r\n---\r\n\r\n## 📦 Requirements\r\n\r\n- A [GitHub](https://github.com) account\r\n- A Gmail account with [2FA enabled](https://myaccount.google.com/security)\r\n- A [Gmail App Password](https://myaccount.google.com/apppasswords)\r\n\r\n---\r\n\r\n## 🔧 Setup Instructions\r\n\r\n### 1. **Fork or Clone this Repository**\r\nYou can either fork this repo or clone it and push it to your own GitHub repo.\r\n\r\n```bash\r\ngit clone https://github.com/yourusername/leetcode-daily-mailer.git\r\ncd leetcode-daily-mailer\r\n````\r\n\r\n---\r\n\r\n### 2. **Add Your Secrets to GitHub**\r\n\r\nGo to your repo → **Settings** → **Secrets and variables** → **Actions** → **New repository secret**\r\n\r\nAdd the following:\r\n\r\n| Name             | Value                                                                    |\r\n| ---------------- | ------------------------------------------------------------------------ |\r\n| `SENDER_EMAIL`   | Your Gmail address (e.g. [you@gmail.com](mailto:you@gmail.com))          |\r\n| `RECEIVER_EMAIL` | Where you want the daily question sent                                   |\r\n| `EMAIL_PASSWORD` | Your [App Password](https://myaccount.google.com/apppasswords) for Gmail |\r\n\r\n---\r\n\r\n### 3. **Check the Cron Schedule (optional)**\r\n\r\nIn `.github/workflows/daily.yml`, the job is scheduled like this:\r\n\r\n```yaml\r\nschedule:\r\n  - cron: '30 2 * * *'  # This is 8:00 AM IST (2:30 AM UTC)\r\n```\r\n\r\nYou can change the time by modifying the cron expression. Use [crontab.guru](https://crontab.guru/) for help.\r\n\r\n---\r\n\r\n### 4. **Test it Manually (optional)**\r\n\r\nGo to the **Actions** tab of your repo → Select **\"LeetCode Daily Mailer\"** → Click **\"Run workflow\"** to test it now.\r\n\r\n---\r\n\r\n## 🧪 Output Example\r\n\r\nYou'll receive an email like:\r\n\r\n```\r\nLeetCode Daily Question:\r\n\r\nTitle: Maximum Depth of Binary Tree\r\nDifficulty: Easy\r\nTags: Depth-First Search, Tree\r\n\r\nLink: https://leetcode.com/problems/maximum-depth-of-binary-tree/\r\n```\r\n\r\n---\r\n\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvivekbargude%2Fleetcode-daily-mailer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvivekbargude%2Fleetcode-daily-mailer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvivekbargude%2Fleetcode-daily-mailer/lists"}