{"id":19441669,"url":"https://github.com/lockerpm/maily","last_synced_at":"2025-10-06T10:00:12.455Z","repository":{"id":169270455,"uuid":"612486226","full_name":"lockerpm/maily","owner":"lockerpm","description":"A privacy-first email solution that provides an email alias @maily.org to hide the original email address when using the internet","archived":false,"fork":false,"pushed_at":"2025-08-17T23:38:25.000Z","size":4127,"stargazers_count":9,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-18T01:13:58.952Z","etag":null,"topics":["aliases","email-alias","email-privacy","email-protection","email-security","end-to-end-encryption","locker","password-manager","private-relay","security"],"latest_commit_sha":null,"homepage":"https://maily.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lockerpm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-03-11T04:43:31.000Z","updated_at":"2025-08-17T23:38:29.000Z","dependencies_parsed_at":"2024-01-26T08:29:08.656Z","dependency_job_id":"eaea6262-879b-4e09-ae8b-85536358d2f9","html_url":"https://github.com/lockerpm/maily","commit_stats":null,"previous_names":["lockerpm/maily"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lockerpm/maily","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lockerpm%2Fmaily","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lockerpm%2Fmaily/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lockerpm%2Fmaily/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lockerpm%2Fmaily/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lockerpm","download_url":"https://codeload.github.com/lockerpm/maily/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lockerpm%2Fmaily/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278591272,"owners_count":26012029,"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","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["aliases","email-alias","email-privacy","email-protection","email-security","end-to-end-encryption","locker","password-manager","private-relay","security"],"created_at":"2024-11-10T15:36:31.036Z","updated_at":"2025-10-06T10:00:12.427Z","avatar_url":"https://github.com/lockerpm.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Locker Password Manager](https://s.locker.io/assets/locker_private_email.png \"Locker Password Manager\")\n\n-------------------\n\n# Maily\n\nMaily is the core of [Locker Private Email](https://locker.io/private-email) that allows users to create email\naliases `@maily.org` to keep their original email addresses hidden when using the internet. With Maily, users can create\nunique email aliases for different purposes, such as online shopping, social media, or business contacts, and manage\nthem within one secure inbox.\n\n## Development\n\nMaily is written in Python 3.10 and utilizes a stack of AWS (Amazon Web Services) to process and store messages\nincluding S3, SES, and SQS.\n\n## Run locally\n\n1. Clone and change to the directory:\n\n    ```shell\n    git clone https://github.com/lockerpm/maily.git\n    cd maily\n    ```\n\n2. Create and activate a virtual environment:\n\n   Unix based systems:\n   ```sh\n   virtualenv env\n   source env/bin/activate\n   ```\n   Windows:\n   ```sh\n   python -m venv env\n   source env/Scripts/activate\n   ```\n\n3. Install Python requirements:\n\n   ```sh\n   pip install -r requirements.txt\n   ```\n\n4. Set environment variables Maily requires a list of variables defined in [the config file](/src/maily/config.py). You\n   should set the following variables:\n\n   | **Variable**      | **Description**                                                                                                             | **Example**  |\n      |-------------------|-----------------------------------------------------------------------------------------------------------------------------|--------------|\n   | RELAY_DOMAIN      | The relay domain                                                                                                           | maily.org    |\n   | REPLY_EMAIL       | The email used for replying                                                                                                 | replies@maily.org |\n   | RELAY_FROM_ADDRESS | The relay email address                                                                                                     | relay@maily.org |\n   | LOCKER_TOKEN_API  | The token to authenticate with the Locker server. You should implement your own backend server to serve requests from Maily |              |\n   | AWS_REGION        | The default region of AWS S3                                                                                                | us‑east‑1     |\n   | AWS_SES_CONFIG_SET | Maily uses AWS SES to send emails, so you have configure the configure set in SES                                           |              |\n   | AWS_SNS_TOPIC     | The SNS topic of AWS for getting new notifications                                                                          |              |\n   | AWS_SQS_URL       | The SQS URL of AWS for getting tasks from the queue                                                                         |              |\n\n\n   The variables can be set by the command `export NAME=VALUE`\n\n5. Run the prgram\n   ```shell\n   python manage.py\n   ```\n\n### Docker\n\nIn the production environment, Maily is packaged in Docker containers and run on Kubernetes (k8s). You can run an\ninstance of Maily as following\n\n```shell\ndocker build -t maily .\ndocker run maily \n```\n\n## API Access\n\nWe published the docs for using Locker Private\nEmail [here](https://docs.locker.io/docs/category/private-email-addresses). You can use it to create unlimited email\naliases without building Maily\n\n## Credits\n\nMaily is inspired by [Mozilla Private Relay](https://github.com/mozilla/fx-private-relay) and uses some of its code for\nmessage handling. Thanks to Mozilla for the awesome project.\n\n## License\n\n[GPLv3](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flockerpm%2Fmaily","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flockerpm%2Fmaily","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flockerpm%2Fmaily/lists"}