{"id":13989166,"url":"https://github.com/BjoernKW/MailTrigger","last_synced_at":"2025-07-22T10:31:27.159Z","repository":{"id":27814878,"uuid":"113668733","full_name":"BjoernKW/MailTrigger","owner":"BjoernKW","description":"MailTrigger","archived":false,"fork":false,"pushed_at":"2025-06-20T13:16:27.000Z","size":727,"stargazers_count":16,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-20T13:51:12.539Z","etag":null,"topics":["email","email-notification","email-sender","java","mail","mailer","spring-boot","transactional-emails"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BjoernKW.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":"2017-12-09T12:48:26.000Z","updated_at":"2025-06-20T13:16:30.000Z","dependencies_parsed_at":"2024-01-24T03:27:17.417Z","dependency_job_id":"e651b1a1-290d-40f0-8ae5-0fd133a81769","html_url":"https://github.com/BjoernKW/MailTrigger","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/BjoernKW/MailTrigger","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BjoernKW%2FMailTrigger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BjoernKW%2FMailTrigger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BjoernKW%2FMailTrigger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BjoernKW%2FMailTrigger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BjoernKW","download_url":"https://codeload.github.com/BjoernKW/MailTrigger/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BjoernKW%2FMailTrigger/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266475108,"owners_count":23934882,"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-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["email","email-notification","email-sender","java","mail","mailer","spring-boot","transactional-emails"],"created_at":"2024-08-09T13:01:32.692Z","updated_at":"2025-07-22T10:31:26.551Z","avatar_url":"https://github.com/BjoernKW.png","language":"Java","funding_links":[],"categories":["Java"],"sub_categories":[],"readme":"# MailTrigger\n\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\nMailTrigger is a service that allows you to asynchronously send emails using an HTTP API. Emails are represented as\nchannels and generated from Markdown templates which are kept in the same source code repository as the software itself.\n\nHence, email templates can be managed using [GitHub](https://github.com/) / [GitLab](https://about.gitlab.com/)\n(or the like) in-browser [Markdown](https://daringfireball.net/projects/markdown/) editors.\n\nAlternatively, you can configure a custom template directory for loading email templates from the filesystem.\n\n## Getting Started\n\n### Prerequisites\n\n* [Java 17](https://openjdk.org/projects/jdk/17/)\n* [Maven](https://maven.apache.org/)\n\n### Running the app in dev mode\n\nRun ```mvn spring-boot:run``` from the command line.\n\n## Running the tests\n\nRun ```mvn clean install``` from the command line.\n\n## Deployment\n\nYou can run the application by using the standard Spring Boot deployment mechanism (see these three articles for more\ninformation on Spring Boot deployment techniques and alternatives:\n[Deploying Spring Boot Applications](https://spring.io/blog/2014/03/07/deploying-spring-boot-applications),\n[Running your application](https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-running-your-application.html)\n,\n[Installing Spring Boot applications](https://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html)):\n\n```java -jar target/mailtrigger-0.0.2-SNAPSHOT.jar```\n\nThe application then should be available under [http://localhost:8080](http://localhost:8080)\n\n### Via Docker\n\nAlternatively, you can run the application in a Docker container\n(using [the official MailTrigger Docker image](https://hub.docker.com/r/bjoernkw/mailtrigger)):\n\n```docker run -p 8080:8080 bjoernkw/mailtrigger```\n\nIn the project root folder, there's an example `Dockerfile` that can be used to build the image, as well as a sample\n`docker-compose.yml` with an example configuration. The latter can be used to run the application via the usual Docker\nCompose command:\n\n```docker-compose up```\n\nThat sample `docker-compose.yml` configures a custom template directory.\n\n## Configuration\n\nThese environment variables are required for running MailTrigger:\n\n* ```SMTP_HOST```\n* ```SMTP_PORT```\n* ```SMTP_USERNAME```\n* ```SMTP_PASSWORD```\n\n## Sending an email\n\nThis HTTP call will load a template named ```test_channel.md``` and replace any placeholders with the replacements\nprovided in the HTTP request body:\n\n```curl -d '{\"TO\": \"test@test.com\", \"FIRST_NAME\": \"Jack\"}' -H 'Content-Type: application/json' -X POST http://localhost:8080/api/v1/sendMail/test_channel```\n\n## REST API Documentation\n\nOnce the app is started the REST API documentation will be available under\n[http://localhost:8080/swagger-ui.html](http://localhost:8080/swagger-ui.html)\n\n## Built With\n\n* [Spring Boot](https://spring.io/projects/spring-boot/)\n* [Maven](https://maven.apache.org/)\n* [Markdown](https://daringfireball.net/projects/markdown/)\n\n## License\n\n[Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0)\n\n## Authors\n\n* **[Björn Wilmsmann](https://bjoernkw.com)**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBjoernKW%2FMailTrigger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBjoernKW%2FMailTrigger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBjoernKW%2FMailTrigger/lists"}