{"id":22430549,"url":"https://github.com/martenframework/marten-mailgun-emailing","last_synced_at":"2025-08-01T11:32:25.068Z","repository":{"id":153921140,"uuid":"579519486","full_name":"martenframework/marten-mailgun-emailing","owner":"martenframework","description":" A Mailgun emailing backend for the Marten web framework. ","archived":false,"fork":false,"pushed_at":"2024-07-11T21:30:57.000Z","size":35,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-07-12T00:15:01.335Z","etag":null,"topics":["crystal","email","emailing","framework","mailgun","marten","web"],"latest_commit_sha":null,"homepage":"","language":"Crystal","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/martenframework.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2022-12-18T00:26:25.000Z","updated_at":"2024-07-11T21:31:00.000Z","dependencies_parsed_at":"2024-07-11T23:54:33.821Z","dependency_job_id":"d867d319-95bd-4a4c-b1b5-5da187db1cb1","html_url":"https://github.com/martenframework/marten-mailgun-emailing","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/martenframework%2Fmarten-mailgun-emailing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/martenframework%2Fmarten-mailgun-emailing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/martenframework%2Fmarten-mailgun-emailing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/martenframework%2Fmarten-mailgun-emailing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/martenframework","download_url":"https://codeload.github.com/martenframework/marten-mailgun-emailing/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228371009,"owners_count":17909389,"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":["crystal","email","emailing","framework","mailgun","marten","web"],"created_at":"2024-12-05T21:08:48.734Z","updated_at":"2024-12-05T21:08:50.048Z","avatar_url":"https://github.com/martenframework.png","language":"Crystal","funding_links":[],"categories":["Marten shards"],"sub_categories":["Emailing"],"readme":"# Marten Mailgun Emailing\n\n[![CI](https://github.com/martenframework/marten-mailgun-emailing/workflows/Specs/badge.svg)](https://github.com/martenframework/marten-mailgun-emailing/actions)\n[![CI](https://github.com/martenframework/marten-mailgun-emailing/workflows/QA/badge.svg)](https://github.com/martenframework/marten-mailgun-emailing/actions)\n\n**Marten Mailgun Emailing** provides a [Mailgun](https://www.mailgun.com/) backend that can be used with Marten web framework's [emailing system](https://martenframework.com/docs/emailing).\n\n## Installation\n\nSimply add the following entry to your project's `shard.yml`:\n\n```yaml\ndependencies:\n  marten_mailgun_emailing:\n    github: martenframework/marten-mailgun-emailing\n```\n\nAnd run `shards install` afterward.\n\n## Configuration\n\nFirst, add the following requirement to your project's `src/project.cr` file:\n\n```crystal\nrequire \"marten_mailgun_emailing\"\n```\n\nThen you can configure your project to use the Mailgun backend by setting the corresponding configuration option as follows:\n\n```crystal\nMarten.configure do |config|\n  config.emailing.backend = MartenMailgunEmailing::Backend.new(\n    api_key: ENV.fetch(\"MAILGUN_API_KEY\"),\n    sender_domain: ENV.fetch(\"MAILGUN_SENDER_DOMAIN\")\n  )\nend\n```\n\nThe `MartenMailgunEmailing::Backend` class needs to be initialized using a [Mailgun API key](https://documentation.mailgun.com/en/latest/api-intro.html#authentication-1) and a [Mailgun sender domain](https://documentation.mailgun.com/en/latest/user_manual.html#verifying-your-domain-1). You should ensure that these values are kept secret and that they are not hardcoded in your config files.\n\nIf needed, it should be noted that you can also change the Mailgun API endpoint URL (whose default value is **https://api.mailgun.net**). To do so, you can use set the `api_endpoint` argument accordingly when initializing your backend object:\n\n```crystal\nMarten.configure do |config|\n  config.emailing.backend = MartenMailgunEmailing::Backend.new(\n    api_key: ENV.fetch(\"MAILGUN_API_KEY\"),\n    sender_domain: ENV.fetch(\"MAILGUN_SENDER_DOMAIN\"),\n    api_endpoint: \"https://api.eu.mailgun.net\"\n  )\nend\n```\n\n## Authors\n\nMorgan Aubert ([@ellmetha](https://github.com/ellmetha)) and \n[contributors](https://github.com/martenframework/marten-mailgun-emailing/contributors).\n\n## License\n\nMIT. See ``LICENSE`` for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmartenframework%2Fmarten-mailgun-emailing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmartenframework%2Fmarten-mailgun-emailing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmartenframework%2Fmarten-mailgun-emailing/lists"}