Marten Mailgun Emailing provides a Mailgun backend that can be used with Marten web framework's emailing system.
Simply add the following entry to your project's shard.yml
:
dependencies:
marten_mailgun_emailing:
github: martenframework/marten-mailgun-emailing
And run shards install
afterward.
First, add the following requirement to your project's src/project.cr
file:
require "marten_mailgun_emailing"
Then you can configure your project to use the Mailgun backend by setting the corresponding configuration option as follows:
Marten.configure do |config|
config.emailing.backend = MartenMailgunEmailing::Backend.new(
api_key: ENV.fetch("MAILGUN_API_KEY"),
sender_domain: ENV.fetch("MAILGUN_SENDER_DOMAIN")
)
end
The MartenMailgunEmailing::Backend
class needs to be initialized using a Mailgun API key and a Mailgun sender domain. You should ensure that these values are kept secret and that they are not hardcoded in your config files.
If 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:
Marten.configure do |config|
config.emailing.backend = MartenMailgunEmailing::Backend.new(
api_key: ENV.fetch("MAILGUN_API_KEY"),
sender_domain: ENV.fetch("MAILGUN_SENDER_DOMAIN"),
api_endpoint: "https://api.eu.mailgun.net"
)
end
Morgan Aubert (@ellmetha) and contributors.
MIT. See LICENSE
for more details.