Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adds sendgrid transport #53

Merged
merged 2 commits into from
Apr 25, 2020
Merged

adds sendgrid transport #53

merged 2 commits into from
Apr 25, 2020

Conversation

gunzip
Copy link
Contributor

@gunzip gunzip commented Apr 25, 2020

No description provided.

@pagopa-github-bot
Copy link
Contributor

Warnings
⚠️

Please include a Pivotal story at the beginning of the PR title (see below).

⚠️

Please include a description of your PR changes.

Example of PR titles that include pivotal stories:

  • single story: [#123456] my PR title
  • multiple stories: [#123456,#123457,#123458] my PR title

New dependencies added: nodemailer-sendgrid.

nodemailer-sendgrid

Author: Andris Reinman

Description: SendGrid transport object for Nodemailer.

Homepage: http://npmjs.com/package/nodemailer-sendgrid

Createdover 2 years ago
Last Updatedabout 2 years ago
LicenseMIT
Maintainers1
Releases4
Direct Dependencies@sendgrid/mail
Keywordsnodemailer and sendgrid
README

nodemailer-sendgrid

SendGrid transport object for Nodemailer.

Warning, vendor lock-in ahead!

Using provider APIs like SendGrid might result in a vendor lock-in, especially if you are using provider specific features. So always consider if you would
prefer to use SMTP based services instead where vendor lock-ins do not happen.

Switching from a SMTP based provider to another is much easier (you do need to edit some DNS settings at least) than switching API based providers where you
probably have a lot of custom code targeting your existing provider.

This module is specially designed to be as much compatible with Nodemailer as possible, so if you do not touch the Sendgrid specific configuration options then
switching from SendGrid API to any other provider should be just as easy as switching from SMTP.

Usage

Requires Nodemailer v4.3.0+

This module is mostly meant to demonstrate the usage of mail.normalize(cb) method in Nodemailer v4.3. This allows creating HTTP API based transports for
Nodemailer much easier.

Install from NPM

npm install nodemailer nodemailer-sendgrid

Create Nodemailer transport

const nodemailer = require('nodemailer');
const nodemailerSendgrid = require('nodemailer-sendgrid');
const transport = nodemailer.createTransport(
    nodemailerSendgrid({
        apiKey: process.env.SENDGRID_API_KEY
    })
);

See full example.

Send a message

Message objects support the entire Nodemailer API. In addition you can provide SendGrid specific keys like templateId or sendAt.

transport.sendMail({
    from: '[email protected]',
    to: 'Receiver Name <[email protected]>, [email protected]',
    subject: 'hello world',
    html: '<h1>Hello world!</h1>'
});

License

MIT

Generated by 🚫 dangerJS

@gunzip gunzip merged commit edba6b5 into master Apr 25, 2020
@gunzip gunzip deleted the 172514073-add-sendgrid branch April 25, 2020 09:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants