quartz-mailer v0.7.1
Quartz-Mailer
A library to send emails from your Crystal application.
Installation
Add this to your application's shard.yml:
dependencies:
quartz_mailer:
github: amberframework/quartz-mailer
Usage
require "quartz_mailer"
The mailer has the ability to set the from, to, cc, bcc, and subject as well as both text and html body formats. You can also add custom headers using header method.
A render helper provides friendly markup rendering with jeromegn/kilt.
class WelcomeMailer < Quartz::Composer
def sender
address email: "info@amberframework.org", name: "Amber"
end
def initialize(name : String, email : String)
to name: name, email: email # Can be called multiple times to add more recipients
subject "Welcome to Amber"
header "X-Custom-Header", "value" # Can be called multiple times to add more custom headers
text render("mailers/welcome_mailer.text.ecr")
html render("mailers/welcome_mailer.html.slang", "mailer-layout.html.slang")
end
end
To deliver a new email:
WelcomeMailer.new(name, email).deliver
To remove a recipient:
remove_to_recipient email: "to@foobar.com"
remove_cc_recipient email: "cc@foobar.com"
remove_bcc_recipient email: "bcc@foobar.com"
Multiple Recipient Example:
class MultipleRecipientMailer < Quartz::Composer
def sender
address email: "info@amberframework.org", name: "Amber"
end
def initialize(to_emails : Array(String), cc_emails = [] of String, bcc_emails = [] of String, headers = {} of String => String)
to_emails.each do |email|
to email
end
cc_emails.each do |email|
cc email
end
bcc_emails.each do |email|
bcc email
end
headers.each do |name, value|
header name, value
end
subject "Welcome to Amber"
text render("mailers/welcome_mailer.text.ecr")
html render("mailers/welcome_mailer.html.slang", "mailer-layout.html.slang")
end
end
MultipleRecipientMailer.new(email_addrs, cc_email_addrs, bcc_email_addrs).deliver
Contributing
- Fork it ( https://github.com/amber-crystal/quartz-mailer/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Repository
quartz-mailer
Owner
Statistic
- 24
- 9
- 4
- 137
- 2
- over 4 years ago
- June 3, 2017
License
MIT License
Links
Synced at
Sun, 26 Oct 2025 16:56:54 GMT
Languages