{"id":15508648,"url":"https://github.com/draym/mymailapp","last_synced_at":"2026-05-15T06:01:52.212Z","repository":{"id":48985219,"uuid":"240826680","full_name":"Draym/MyMailApp","owner":"Draym","description":"Mail SAAS which offers mailing managing APIs. Useful for backend-less websites which require sending e-mails.","archived":false,"fork":false,"pushed_at":"2021-07-02T04:53:01.000Z","size":37,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-10T16:35:54.033Z","etag":null,"topics":["mail-api","mail-server","saas"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Draym.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":null,"support":null}},"created_at":"2020-02-16T03:43:29.000Z","updated_at":"2023-04-28T07:24:56.000Z","dependencies_parsed_at":"2022-09-10T04:16:10.725Z","dependency_job_id":null,"html_url":"https://github.com/Draym/MyMailApp","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Draym%2FMyMailApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Draym%2FMyMailApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Draym%2FMyMailApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Draym%2FMyMailApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Draym","download_url":"https://codeload.github.com/Draym/MyMailApp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241045420,"owners_count":19899648,"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":["mail-api","mail-server","saas"],"created_at":"2024-10-02T09:39:30.881Z","updated_at":"2026-05-15T06:01:52.105Z","avatar_url":"https://github.com/Draym.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# My Mail App :e-mail:\n\nMail application for backend-less websites.\n\nYou can register your websites and obtain an api_key, then use the MyMail api to send emails.\nFor now the administrative tools are only available throught API call, an Admin UI panel will surely be done in future once i find the time to do so.\n\nThe application is fully open to use \u0026 modification, simply clone it and follow the next steps to install it on your own server.\n\n\u003cbr/\u003e\n\n-------------------------------------------------------------------------------------------\n## How to Install :\n\n1) clone the project locally or directly on your server (be sure to have java \u0026 maven installed)\n\n\n#\nFor the next steps you may want to update the default properties\n\nLOCAL: in src/main/ressources/application.properties\n\nPROD: I advise you to create a new file src/main/ressources/application-prod.properties and override the DB identifiers in case you want to push your application publicly on git\n#\n\n2) create a database, by default the name should be 'my_mail_app' and use MySql\n    - you can modify the name and the database type\n    - Local: for MySql, you can download Wamp to host your DB\n    - Server: you need to install MySql or other\n    \n4) create your smtp properties in src/main/ressources/smtp_mail.properties \u003cbr/\u003e\nexemple:\n\n      // smtp config \u003cbr/\u003e\n      mail.smtp.auth=true \u003cbr/\u003e\n      mail.smtp.starttls.enable=true \u003cbr/\u003e\n      mail.smtp.host=smtp.gmail.com \u003cbr/\u003e\n      mail.smtp.port=587 \u003cbr/\u003e\n      // fromName \u003cbr/\u003e\n      from='your-email'@gmail.com \u003cbr/\u003e\n      // identifier \u003cbr/\u003e\n      username='your-email'@gmail.com \u003cbr/\u003e\n      password='your-password' \u003cbr/\u003e\n\n3) Run it:\n    - Locally by using SpringBoot\n    - PROD by creating a jar or war using Maven 'mvn clean package -Pprod'\n   \n4) Deploy it on your favorite tool, i personally use Nginx on Ubuntu\n\n5) your API should now be live\n\n\u003cbr/\u003e\n\n-------------------------------------------------------------------------------------------\n## How to Use :\n\nPlease check out the API documentation at the bottom of the page.\n\nUse curl on Linux or any tools in Windows like Postman to setup MyMail.\n\n\u003cbr/\u003e\n\nThe default path to setup the mails on your website should be as follow :\n\n1) Register a website using /api/app/register\n\n2) You will get an object containing an apiKey -\u003e save it somewhere\n\n3) In your website code : save the apiKey in the env variables or as a static somewhere in your Javascript\n\n4) When your website needs to send an email use\n    - packup the apiKey in the Http request Header with key 'ApiKey'.\n    - to send to someone : /api/email/send\n    - to send to yourself (contact page) : /api/email/toAdmin\n    \n\u003cbr/\u003e\n\n-------------------------------------------------------------------------------------------\n## API Documentation :\n\n1. /api/admin\n\n    ```javascript\n    PUT: /api/admin/app/update\n    ---\u003e update an application configuration, name can't be modified\n    parameters = {\n\t  \"baseUrl\": String,\n\t  \"desccription\": String,\n    \"descUrl\": String\n    }\n    return = Application object\n    ```\n    \n    ```javascript\n    PUT: /api/admin/app/delete\n    ---\u003e delete an application\n    url parameters: Long id\n    ```\n    \n    ```javascript\n    GET: /api/admin/app/get\n    ---\u003e get an application\n    url parameters: String name, String url (baseUrl)\n    return: Application object\n    ```\n    \n    ```javascript\n    GET: /api/admin/app/getAll\n    ---\u003e get all application\n    parameters: none\n    return: Applications array\n    ```\n    \n    ```javascript\n    PUT: /api/admin/key/deactivate\n    ---\u003e deactivate an API_Key\n    url parameters: Long id\n    ```\n    \n    ```javascript\n    PUT: /api/admin/key/deactivateByKey\n    ---\u003e deactivate an API_Key\n    url parameters: String key\n    ```\n    \n    ```javascript\n    GET: /api/admin/key/get\n    ---\u003e get an API_Key\n    url parameters: Long id\n    return: ApplicationKey object\n    ```\n    \n    ```javascript\n    GET: /api/admin/key/getAll\n    ---\u003e get all API_Keys\n    parameters: none\n    return: ApplicationKeys array\n    ```\n\u003cbr/\u003e\n\n2. /api/app\n\n    ```javascript\n    POST: /api/app/register\n    parameters = {\n\t  \"name\": \"my-website\", // unique website identifier for a baseUrl\n\t  \"baseUrl\": \"my-website-url.com\",  // to verify origin associated to api_key\n\t  \"desccription\": \"Personal website - my description\", // opt\n    \"descUrl\": \"github.com/my-website\" // opt\n    }\n    return = {\n    \"apiKey\": \"123-789-ddd-ccc\",\n    \"active\": true\n    }\n    ```\n\u003cbr/\u003e\n\n3. /api/email\n\n    ```javascript\n    POST: /api/email/send\n    ---\u003e use to send an email to a user\n    parameters = {\n\t  \"name\": String, // user name ex:contact page\n\t  \"email\": String,\n\t  \"subject\": String,\n    \"message\": String,\n    }\n    return = true/false\n    ```\n    \n    ```javascript\n    POST: /api/email/toAdmin\n    ---\u003e use to receive an email from a user (ex: contact page)\n    {\n\t  \"name\": String, // user name ex:contact page\n\t  \"email\": String,\n\t  \"subject\": String,\n    \"message\": String\n    }\n    return = true/false\n    ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdraym%2Fmymailapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdraym%2Fmymailapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdraym%2Fmymailapp/lists"}