All Projects → orderedlist → express_mailer

orderedlist / express_mailer

Licence: MIT license
An easy way to send yourself or your team emails about what happens in your rails application

Programming Languages

ruby
36898 projects - #4 most used programming language
HTML
75241 projects
shell
77523 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to express mailer

yii2-symfonymailer
Yii 2 Symfony mailer extension.
Stars: ✭ 29 (+45%)
Mutual labels:  mailer
mailer-plugin
This plugin allows you to configure email notifications for build results
Stars: ✭ 35 (+75%)
Mutual labels:  mailer
responsive-html-email-templates
Collection of Free responsive HTML templates for Startups
Stars: ✭ 187 (+835%)
Mutual labels:  email-template
robot-email-template
Email template for Robot Framework test results
Stars: ✭ 19 (-5%)
Mutual labels:  email-template
dnde
Drag and drop react email editor
Stars: ✭ 31 (+55%)
Mutual labels:  email-template
email-template-generator
Simple and useful web app to generate e-mails for any reason you want!
Stars: ✭ 51 (+155%)
Mutual labels:  email-template
RazorTemplating
Razor Templating Engine to render Razor Views(.cshtml files) to String in Console, Web, Service, Desktop workloads in .NET Core 3+
Stars: ✭ 216 (+980%)
Mutual labels:  email-template
rss-to-email
Generate HTML emails from your RSS feeds.
Stars: ✭ 92 (+360%)
Mutual labels:  email-template
acorn
A responsive email framework based on a golden ratio typography grid.
Stars: ✭ 90 (+350%)
Mutual labels:  email-template
Meteor-Mailer
📮 Bulletproof email queue on top of NodeMailer with support of multiple clusters and servers setup
Stars: ✭ 21 (+5%)
Mutual labels:  mailer
stampie-bundle
stampie.github.io/
Stars: ✭ 26 (+30%)
Mutual labels:  mailer
Log-mailer
Log mailer is a program I made to email log files.
Stars: ✭ 46 (+130%)
Mutual labels:  mailer
friendly-mail
📩 Mail provider for elegantly sending emails in node js.
Stars: ✭ 40 (+100%)
Mutual labels:  mailer
mjml-server
MJML wrapped in Express for use over HTTP
Stars: ✭ 31 (+55%)
Mutual labels:  email-template
awesome-emails
List of tools, articles and videos about email design and development
Stars: ✭ 19 (-5%)
Mutual labels:  email-template
easy-email
React.js Drag-and-Drop Email Editor based on MJML. Transform structured JSON data into major email clients compatible HTML. Written in Typescript and supported both in browser and Node.js.
Stars: ✭ 449 (+2145%)
Mutual labels:  email-template
quartz-mailer
A library to get started in sending and receiving emails from and to your Crystal application
Stars: ✭ 23 (+15%)
Mutual labels:  mailer
mailjet-mailer
Provides Mailjet integration for Symfony Mailer.
Stars: ✭ 24 (+20%)
Mutual labels:  mailer
mailer
Generic mailer
Stars: ✭ 16 (-20%)
Mutual labels:  mailer
easymail
Easy way to install a mail server.
Stars: ✭ 60 (+200%)
Mutual labels:  mailer

ExpressMailer

ExpressMailer is intended to be a quick and easy way to send yourself or your team members nice looking emails about things that happen in your rails application. No need for creating a new Mailer, copy views, wade through email HTML, or any of that. Just tell ExpressMailer a few things about what you want to send, and it makes a pre-designed ActionMailer object you can manipulate or deliver.

ExpressMailer Preview

What this IS:

  • A quick way to keep yourself up to date on events in your application
  • Mildly customizable (fonts and colors)
  • Pretty and flexible enough

What this IS NOT:

ExpressMailer is not intended to be a replacement for your user transactional emails (signups, notifications, etc). While there's nothing really stopping you from using it as such, it's probably never going to be flexible enough to satisfy all the needs of transactional emails. For user facing stuff, you should actually make something that's better and more personalized than ExpressMailer.

Installation

Add this line to your application's Gemfile:

gem 'express_mailer'

And then execute:

$ bundle

Or install it yourself as:

$ gem install express_mailer

Generate the initializer:

$ rails generate express_mailer

Edit config/initializers/express_mailer.rb to modify your configuration.

Usage

An ExpressMailer email can be made up of several pieces, many of which are optional.

  • app_logo: or app_name: defined in the configuration (required)
  • preheader: An introductory few words before the header, defaults to today's date (optional)
  • header: Describe the event, defaults to the subject (required)
  • image: Show an image, avatar, logo, or something else below the header (optional)
    • url: The url of the image (required)
    • alt: The alt text of the image (required)
    • background: Background color of the image, defaults to transparent (optional)
    • shape: Shape of the image (:normal, :rounded, or :circle), defaults to :normal (optional)
    • size: Size of the image (:normal, or :large), defaults to :normal (optional)
  • headline: Tell what happened (eg. an amount, a title, etc.) (optional)
  • table: An array of arrays to give some details about the event (optional)
  • text: A brief explanation of the event (optional)
  • button: Give me something to click on (optional)
    • text: The text of the button
    • href: the href of the button
  • footer: Give more info, or describe why the recipient is receiving the message (optional)

In addition to providing these details, there are some mail-specific attributes:

  • to: an email or more, can also be set with default_to: in the configuration (required)
  • subject: the subject line of the email (required)
  • from: who the email is from, can also be set with default_from: in the configuration (required)
  • reply_to: sets the reply-to header of the email (optional)

Given these attributes, there are 4 styles of emails that can be sent that loosly correspond to types of events: (info, success, warning, and error). These are called directly on ExpressMailer.

attributes = {
  to: '[email protected]',
  subject: 'New Signup by Rachael Thompson',
  preheader: 'New Signup',
  header: 'Rachael Thompson',
  headline: 'Premium Plan',
  text: '$29/month',
  button: {
    text: 'View order',
    href: 'http://example.com/orders/1'
  }
}

mailer = ExpressMailer.success(attributes)
mailer.deliver

# Other styles can be used as well...
#
#   ExpressMailer.info(attributes)
#   ExpressMailer.success(attributes)
#   ExpressMailer.warning(attributes)
#   ExpressMailer.error(attributes)
#
# These will use the colors described in the configuration for each specific state

Delivery

ExpressMailer relies on ActionMailer being setup to send in your system. If your application is already sending email, you shouldn't have to change anything. If not, check out setting up SendGrid or Postmark.

Development

After checking out the repo, run bin/bootstrap to install dependencies. Then, run rake to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/orderedlist/express_mailer. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The gem is available as open source under the terms of the MIT License.

Code of Conduct

Everyone interacting in the ExpressMailer project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].