import mailJet = require('node-mailjet');
import { Email, SMS, ConnectOptions } from 'node-mailjet';
const connection: Email.Client = mailJet.connect('MJ_APIKEY_PUBLIC', 'MJ_APIKEY_PRIVATE');
// *** Email API *** //
// send api v3.1
const params: Email.SendParams = {
Messages: [{
From: {
Email: "sender@email.com",
Name: "Me"
},
To: [{
Email: "passenger1@mailjet.com",
Name: "You"
}],
Cc: [{
Email: "copilot@mailjet.com",
Name: "Copilot"
}],
Bcc: [{
Email: "air-traffic-control@mailjet.com",
Name: "Air traffic control"
}],
Subject: "My first Mailjet Email!",
TextPart: "Greetings from Mailjet!",
HTMLPart: "
"
}],
SandboxMode: true,
};
const mailJetRequest: Email.PostResource = connection.post("send", {version: 'v3.1'});
const mailJetResponse: Promise = mailJetRequest.request(params);
mailJetResponse.then((res: Email.PostResponse) => {
const body: Email.PostResponseData = res.body;
const messages: ReadonlyArray = body.Messages;
const message: Email.PostResponseDataMessage = messages[0];
const to: ReadonlyArray = message.To;
const cc: ReadonlyArray = message.Cc;
const bcc: ReadonlyArray = message.Bcc;
const email: string = to[0].Email;
const messageHref: string = to[0].MessageHref;
const messageId: number = to[0].MessageID;
const messageUUID: string = to[0].MessageUUID;
}).catch((err: Error) => {
// ignore
});
// send api v3
const paramsV3: object = {
FromEmail: "sender@email.com",
FromName: "Mailjet Pilot",
Subject: "Your email flight plan!",
"Text-part": "Dear passenger, welcome to Mailjet! May the delivery force be with you!",
"Html-part": "Welcome to Mailjet!",
Recipients: [{Email: "passenger@mailjet.com"}],
SandboxMode: true
};
const mailJetRequestV3: Email.PostResource = connection.post("send");
const mailJetResponseV3: Promise = mailJetRequestV3.request(paramsV3);
mailJetResponseV3.then((res: Email.Response) => {
const responseBody: object = res.body;
}).catch((err: Error) => {
// ignore
});
// add template
const paramsAddTemplate: object = {
"Html-part": "Hello {{var:name}}
",
"Text-part": "Hello {{var:name}}"
};
const mailJetRequestTemplate: Email.PostResource = connection.post('template');
const mailJetPostResource: Email.PostResource = mailJetRequestTemplate.id('762957');
const mailJetPostActionResource: Email.PostResource = mailJetPostResource.action("detailcontent");
const mailJetResponseTemplate: Promise = mailJetPostActionResource.request(paramsAddTemplate);
mailJetResponseTemplate.then((res: Email.Response) => {
const responseBody: object = res.body;
}).catch((err: Error) => {
// ignore
});
// get all message
const messageId = '576460753004591401';
const mailJetRequestMessages: Email.GetResource = connection.get('message');
const mailJetGetResource: Email.GetResource = mailJetRequestMessages.id(messageId);
const mailJetResponseMessages: Promise = mailJetGetResource.request();
mailJetResponseMessages.then((res: Email.GetResponse) => {
const responseBody: Email.GetResponseData = res.body;
const count: number = responseBody.Count;
const data: ReadonlyArray