Please welcome the new Mailjet experimental EcmaScript API wrapper! If you want a Stable ES5 version, click Here
It is basically a translation, implementing the new EcmaScript specifications.
Mailjet is an Email Service Provider (ESP). Visit the website and get comfortable!
For more details, see the full API Documentation
first, create a project folder
mkdir mailjet-project && cd $_
if you want to get a global installation, you can add -g
npm install mailjet-next
To authenticate, go get your API key, and API secret here, open your favorite text editor and import the mailjet module
import MailjetClient from 'mailjet-next';
let mailjet = new Mailjet('apiKey', 'apiSecret');
echo 'export MJ_APIKEY_PUBLIC=MY_API_KEY' >> ~/.zshrc
echo 'export MJ_APIKEY_PRIVATE=MY_API_SECRET' >> ~/.zshrc
source ~/.zshrc
replace zshrc
with bash_profile
if you are simply using bash
const apiKey = process.env.MJ_APIKEY_PUBLIC;
const apiSecret = process.env.MJ_APIKEY_PRIVATE;
// GET resource
let user = Mailjet.get('user');
// POST resource
let sender = Mailjet.post('sender');
user.request((error, response, body) => {
if (error)
console.log (`Oops, something went wrong ${response.statusCode}`);
else
console.log (body);
});
the request method actually returns a EventEmitter triggering success
and error
user.request()
.then((response) => {
}, (error) => {
});
sender
.request({ Email: 'mr@mailjet.com' })
.then(handleData, handleError);
let getContacts = Mailjet.get('contact');
getContacts.request({Limit: 3}, handleContacts);
getContacts
.id(2)
.request(handleSingleContact);
var postContact = Mailjet.post('contact');
postContact.action('managemanycontacts')
.request({ContactLists, Contacts})
.then(handleData, handleError);
var sendEmail = Mailjet.post('send');
var emailData = {
'FromEmail': 'my@email.com',
'FromName': 'My Name',
'Subject': 'Test with the NodeJS Mailjet wrapper',
'Text-part': 'Hello NodeJs !',
'Recipients': [{'Email': 'roger@smith.com'}],
}
sendEmail
.request(emailData)
.then(handleData, handleError);
var emailData = {
'FromEmail': 'gbadi@student.42.fr',
'FromName': 'Guillaume badi',
'Subject': 'Coucou Mailjet2',
'Text-part': 'Hello World2',
'Recipients': [{'Email': 'gbadi@mailjet.com'}],
}
var emailData2 = emailData;
emailData2['Text-part'] = 'This is another Email';
sendEmail
.request(emailData)
.then(handleData, handleError);
sendEmail
.request(emailData2)
.then(handleData, handleError);
Mailjet loves developers. You can be part of this project!
This wrapper is a great introduction to the open source world, check out the code!
Feel free to ask anything, and contribute:
- Fork the project.
- Create a new branch.
- Implement your feature or bug fix.
- Add documentation to it.
- Commit, push, open a pull request and voila.
TODO:
- Add compatibility with
duplicatefrom
filter