Mailtarget NodeJs SDK memungkinkan pengembang NodeJs untuk bekerja dengan Mailtarget API secara efisien.
Memulai
Persyaratan
Pastikan Anda memiliki versi LTS NodeJs, minimal NodeJs v14.
Instalasi
Untuk menginstal NodeJS SDK ke proyek Anda, gunakan perintah berikut untuk mendapatkan paket dari NPM:
# NPM
npm install @mailtarget/nodejs-sdk
# Yarn
yarn add @mailtarget/nodejs-sdk
# PNPM
pnpm add @mailtarget/nodejs-sdk
Otentikasi
Anda harus membuat API Key dari dashboard Mailtarget dan menggunakannya sebagai otentikasi.
Konfigurasi Klien
Penggunaan Dasar
const { Layang } = require('@mailtarget/nodejs-sdk');
const sender = { email: '[email protected]', name: 'John Doe' };
const subject = 'mailtarget Email Test';
const bodyHtml = `
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Layang</title>
</head>
<body style="font-family: "Roboto", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif">
<h1>Hello World!!!</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
<br/><br/>
<p style="color: #8A8A8A">powered by <a target="_blank" href="https://mailtarget.co" style="color: #8A8A8A">mailtarget</a></p>
</body>
</html>
`;
const to = [
{ email: '[email protected]', name: 'Jane Doe' },
];
const sendMail = async () => {
const mailtarget = new Layang('mailtarget-api-key', sender);
const transmissionId = await mailtarget.sendMessage(subject, to, bodyHtml);
if (transmissionId) {
console.log('Email sent, ID = ', transmissionId);
} else {
console.error(mailtarget.getErrorMessage());
}
};
sendMail();
Menggunakan Template Email
Jika Anda sudah menggunakan Template Creator Mailtarget, Anda dapat mengirim email menggunakan fungsi sendMessageTemplate
dengan menyertakan templateId
sebagai parameter:
const { Layang } = require('@mailtarget/nodejs-sdk');
const sender = { email: '[email protected]', name: 'John Doe' };
const subject = 'mailtarget Email Test';
const templateId = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx';
const to = [
{ email: '[email protected]', name: 'Jane Doe' },
];
const sendMail = async () => {
const mailtarget = new Layang('mailtarget-api-key', sender);
const transmissionId = await mailtarget.sendMessageTemplate(subject, to, templateId);
if (transmissionId) {
console.log('Email sent, ID = ', transmissionId);
} else {
console.error(mailtarget.getErrorMessage());
}
};
sendMail();
Jika Anda perlu mengganti teks dengan data tertentu (pastikan template telah diatur sebelumnya di Mailtarget), Anda dapat mendeklarasikan data tersebut sebagai parameter keempat sendMessageTemplate
:
const substituteData = { lastname: 'Doe', birthdat: '1 January 1975' };
await mailtarget.sendMessageTemplate(subject, to, templateId, substituteData);
Konfigurasi Opsional
Carbon Copy (CC)
const cc = [{ email: '[email protected]', name: 'John Doe' }]; mailtarget.cc = cc;
Blind Carbon Copy (BCC)
const bcc = [{ email: '[email protected]', name: 'John Doe' }]; mailtarget.bcc = bcc;
Body Text
mailtarget.bodyText = 'Teks Anda di sini';
Headers
const headers = [{ name: 'x-header', value: 'nilai header Anda' }]; mailtarget.headers = headers;
Lampiran (Attachment)
const attachment = [
{ mimeType: 'application/octet-stream', filename: 'your_file.pdf', value: 'some-value' }
];
mailtarget.attachment = attachment;
Metadata
const metadata = [{ metaKey: 'meta-value' }]; mailtarget.metadata = metadata;
Pelacakan Klik (Click Tracking)
Melacak aktivitas klik dari email yang dikirim. Secara default, fitur ini aktif. Jika ingin menonaktifkannya:
mailtarget.setClickTracking(false);
Pelacakan Dibuka (Open Tracking)
Melacak aktivitas pembukaan email. Secara default, fitur ini aktif. Jika ingin menonaktifkannya:
mailtarget.setOpenTracking(false);
Transaksional
Mengatur email sebagai transaksional. Secara default, fitur ini aktif. Jika ingin menonaktifkannya (misalnya untuk mengirim newsletter dengan tautan berhenti berlangganan):
mailtarget.setTransactional(false);