SendgridNotification is engine of Ruby on Rails, and notification mail (e.g. account registration, logging in by new devise, reminder, etc...) sender and utility, using SendGrid API.
This provides mail utility models, migrations, and rake tasks.
First, add sendgird_notification in Gemfile
gem 'sendgrid_notification'
bundle install
Then, generate migration files and migrate
bin/rails sendgrid_notification_engine:install:migrations
bin/rails db:migrate
Generate and edit controllers for NotificationMail CRUD
...
Create NotificationMail record. key = 'example'
...
And send the mail
...
Oops. It lacks SendGrid API configuration. Get API key from sendgrid.com and set it ENV['SENDGRID_API_KEY']
...
...
...
Name | Description | Default Value |
---|---|---|
config.sendgrid_notification.api_key | SendGrid API Key | ENV['SENDGRID_API_KEY'] |
config.sendgrid_notification.mail_from | FROM address of notification mail | ENV['SENDGRID_MAIL_FROM'] |
config.sendgrid_notification.mail_from_name | FROM name of notification mail | ENV['SENDGRID_MAIL_FROM_NAME'] |
config.sendgrid_notification.mailer | Mailer class name (by string). usually no need to change | "SendgridNotification::SendgridMailer" |
Task | Description | ENV/Parameter |
---|---|---|
sendgrid_notification:send | Send mail | TO=[recipient email address] KEY=[mail type key] ... and mail parameters |
sendgrid_notification:status:autoupdate | Update status from previous autoupdate task | |
sendgrid_notification:status:retrieve | Only retrieve suppression statuses in start..end | start=[datetime] end=[datetime] |
sendgrid_notification:status:update | Retrieve suppression status and update record | start=[datetime] end=[datetime] |
sendgrid_notification:testmail:init | Create notification_mails test record. default key = "_test" | |
sendgrid_notification:testmail:send | Send testmail | TO=[recipient email address] [body=body] |
Contribution directions go here.
The gem is available as open source under the terms of the MIT License.