{"id":16020770,"url":"https://github.com/isiah-lloyd/email2slackbot","last_synced_at":"2026-01-21T16:33:34.584Z","repository":{"id":56634381,"uuid":"80895447","full_name":"isiah-lloyd/Email2SlackBot","owner":"isiah-lloyd","description":"Checks IMAP server for new mail and posts it in a Slack channel ","archived":false,"fork":false,"pushed_at":"2022-12-07T23:40:52.000Z","size":14,"stargazers_count":2,"open_issues_count":5,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-07T15:33:15.173Z","etag":null,"topics":["email","imap","python","slack","slack-bot"],"latest_commit_sha":null,"homepage":null,"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/isiah-lloyd.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}},"created_at":"2017-02-04T05:16:56.000Z","updated_at":"2017-09-26T20:53:43.000Z","dependencies_parsed_at":"2023-01-24T04:00:32.079Z","dependency_job_id":null,"html_url":"https://github.com/isiah-lloyd/Email2SlackBot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/isiah-lloyd/Email2SlackBot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isiah-lloyd%2FEmail2SlackBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isiah-lloyd%2FEmail2SlackBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isiah-lloyd%2FEmail2SlackBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isiah-lloyd%2FEmail2SlackBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/isiah-lloyd","download_url":"https://codeload.github.com/isiah-lloyd/Email2SlackBot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isiah-lloyd%2FEmail2SlackBot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28635929,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T15:01:31.228Z","status":"ssl_error","status_checked_at":"2026-01-21T14:42:58.942Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["email","imap","python","slack","slack-bot"],"created_at":"2024-10-08T18:00:34.819Z","updated_at":"2026-01-21T16:33:34.567Z","avatar_url":"https://github.com/isiah-lloyd.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Email2SlackBot\nChecks IMAP server for new mail and posts it in a Slack channel \n\n## How to use:\n1. Create a new Incoming Webhook custom integration for your Slack channel (https://slack.com/apps/A0F7XDUAZ-incoming-webhooks)\n2. `$ git clone https://github.com/isiah-lloyd/Email2SlackBot.git`\n3. `$ virtualenv venv`\n4. `$ source venv/bin/activate`\n5. `$ pip install -r requirements.txt`\n6. Enter your Webhook URL from Slack into the `settings.example.ini` file along with your email server configuration\n7. Rename `settings.example.ini` to `settings.ini`\n8. `$ python main.py`\n9. The program is now setup and will check for new mail and post it to slack on subsequent runs\n10. Run `python main.py` using a cron job\n\nDo not modify `last_uid.txt` created by the program but if you are encountering issues it maybe a good idea to regenerate the file by deleting it.\n\n## Storage Options\n\nBy default, the bot stores the last uid in `last_uid.txt` on your local machine. However, by setting `storage_location = s3` and setting `aws_access_key_id`, `aws_secret_access_key`, and `aws_s3_bucket_name` in your `settings.ini` you can use Amazon S3 for storage.\n\nEnsure your `aws_s3_bucket_name` exists on S3.\n\n## Serverless Function\n\nDeploying to AWS Lambda or other serverless service is an option. Deploying to AWS Lambda is painless with [Serverless](https://github.com/serverless/serverless).\n\nNode.js is required for Serverless deployment. Install Serverless with `npm install -g serverless`. Then install the devDependencies with `npm install`. Finally, deploy with `serverless deploy`.\n\nAfter deployment, ensure all necessary environment variables are included with your function. You can do this on the AWS console or with the AWS cli.\n\nAll serverless configuration is handled in `serverless.yml`. By default, `serverless.yml` configures the bot to run every 10 minutes.\n\nQuick serverless commands:\n\n- Deploy: `serverless deploy`\n- Manually invoke a function: `serverless invoke -f run -s [STAGE] -r [REGION] -l`\n- View the logs for a function: `serverless logs -f run`\n\nNote: use `--aws-profile [PROFILE]` with these commands if you have more than one set of AWS credentials in your `~/.aws/credentials` file\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisiah-lloyd%2Femail2slackbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fisiah-lloyd%2Femail2slackbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisiah-lloyd%2Femail2slackbot/lists"}