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