Comprehensive Guide to Node Mailjet for Email API Integration

Introduction to Node-Mailjet

Node-Mailjet is a powerful Node.js wrapper for the Mailjet API, making it incredibly easy to send emails, manage contacts, and handle various email marketing tasks programmatically. This guide will introduce you to the key functionalities of Node-Mailjet, complemented by code snippets to help you get started.

Setup

First, install the Node-Mailjet package:

npm install node-mailjet

Configuration

Initialize the Mailjet client with your API keys:

 const mailjet = require('node-mailjet')
  .connect('your-api-key', 'your-api-secret');

Sending an Email

Use the following code snippet to send an email:

 const request = mailjet
  .post("send", {'version': 'v3.1'})
  .request({
    "Messages":[
      {
        "From": {
          "Email": "sender@example.com",
          "Name": "Sender"
        },
        "To": [
          {
            "Email": "recipient@example.com",
            "Name": "Recipient"
          }
        ],
        "Subject": "Hello World!",
        "TextPart": "This is a test email",
        "HTMLPart": "

This is a test email

" } ] }); request .then((result) => console.log(result.body)) .catch((err) => console.error(err));

Managing Contacts

Create a Contact

The following example creates a new contact:

 const request = mailjet
  .post("contact")
  .request({
    "Email": "new-contact@example.com"
  });

request
  .then((result) => console.log(result.body))
  .catch((err) => console.error(err));

Update a Contact Property

To update a contact property:

 const request = mailjet
  .post("contactdata", {'version': 'v3'})
  .id("new-contact@example.com")
  .request({
    "Data": [
      {
        "Name": "NAME",
        "Value": "Jane Doe"
      }
    ]
  });

request
  .then((result) => console.log(result.body))
  .catch((err) => console.error(err));

Managing Contact Lists

Create a Contact List

Here’s how to create a new contact list:

 const request = mailjet
  .post("contactslist")
  .request({
    "Name": "New List"
  });

request
  .then((result) => console.log(result.body))
  .catch((err) => console.error(err));

Add a Contact to a List

To add a contact to a specific list:

 const request = mailjet
  .post("listrecipient")
  .request({
    "ContactID": "new-contact-id",
    "ListID": "list-id"
  });

request
  .then((result) => console.log(result.body))
  .catch((err) => console.error(err));

App Example

Below is an example of a simple Node.js application that utilizes Node-Mailjet for sending welcome emails to new users:

 const express = require('express'); const bodyParser = require('body-parser'); const mailjet = require('node-mailjet').connect('your-api-key', 'your-api-secret');
const app = express(); app.use(bodyParser.json());
app.post('/send-welcome-email', (req, res) => {
  const { email, name } = req.body;

  const request = mailjet
    .post('send', {'version': 'v3.1'})
    .request({
      "Messages":[
        {
          "From": {
            "Email": "welcome@example.com",
            "Name": "Your App"
          },
          "To": [
            {
              "Email": email,
              "Name": name
            }
          ],
          "Subject": "Welcome to Our Service!",
          "TextPart": "Dear " + name + ", welcome to our service!",
          "HTMLPart": "

Dear " + name + ", welcome to our service!

" } ] }); request .then((result) => res.status(200).send(result.body)) .catch((err) => res.status(500).send(err)); }); app.listen(3000, () => console.log('Server running on port 3000'));

With these capabilities, Node-Mailjet provides robust solutions for managing your email campaigns, contacts, and more, directly from your Node.js application.

Hash: fb75cc073f18035d3944f456f877139db55488e6b49cfe4ed05fe771bb64d459

Leave a Reply

Your email address will not be published. Required fields are marked *