Mailtarget NodeJs SDK ช่วยให้นักพัฒนา NodeJs สามารถทำงานกับ Mailtarget API ได้อย่างมีประสิทธิภาพ
เริ่มต้นใช้งาน
ข้อกำหนด
ตรวจสอบให้แน่ใจว่าคุณมี NodeJs เวอร์ชัน LTS และ NodeJs v14 เป็นอย่างน้อย
การติดตั้ง
ในการติดตั้ง NodeJS SDK ลงในโปรเจ็กต์ของคุณ คุณสามารถรับแพ็กเกจจาก NPM ได้โดยใช้คำสั่งต่อไปนี้:
# NPM
npm install @mailtarget/nodejs-sdk
# Yarn
yarn add @mailtarget/nodejs-sdk
# PNPM
pnpm add @mailtarget/nodejs-sdk
การตรวจสอบสิทธิ์
คุณต้องสร้างรหัส API จากแดชบอร์ด Mailtarget และใช้เป็นการตรวจสอบสิทธิ์
ตั้งค่าไคลเอ็นต์
การใช้งานพื้นฐาน
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();
การใช้เทมเพลตอีเมล
หากคุณใช้ Mailtarget Template Creator อยู่แล้ว คุณสามารถใช้เทมเพลตนั้นเพื่อส่งอีเมลได้โดยการเรียกใช้ฟังก์ชัน sendMessageTemplate และส่งค่า templateId เป็นพารามิเตอร์ นี่คือตัวอย่าง:
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();หากคุณจำเป็นต้องแทนที่ข้อความโดยใช้ข้อมูลที่คุณให้มา (แน่นอนว่าคุณต้องตั้งค่าเทมเพลตให้เหมาะสมใน Mailtarget) คุณสามารถประกาศเป็นพารามิเตอร์ที่สี่ของ sendMessageTemplate ได้:
...
const substituteData = { lastname: 'Doe', birthdat: '1 January 1975' };
await mailtarget.sendMessageTemplate(subject, to, templateId, substituteData);
...
การกำหนดค่าเพิ่มเติม
นี่คือรายการการกำหนดค่าที่คุณสามารถทำได้กับอีเมลของคุณ (เพียงตรวจสอบให้แน่ใจว่าคุณได้กำหนดไว้ก่อนที่จะเรียกใช้ sendMessage หรือ sendMessageTemplate):
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 = 'Your text went here';
Headers
const headers = [
{ name: 'x-header', value: 'your header value' }
];
mailtarget.headers = headers;
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;
Click Tracking
ติดตามกิจกรรมการคลิกของอีเมลที่คุณส่ง โดยค่าเริ่มต้นจะตั้งค่าเป็น "ใช้งาน" หากคุณต้องการปิดใช้งาน ให้ใช้บรรทัดต่อไปนี้:
mailtarget.setClickTracking(false);
Open Tracking
ติดตามกิจกรรมการเปิดอีเมลที่คุณส่ง โดยตั้งค่าเริ่มต้นเป็น "ใช้งาน" หากคุณต้องการปิดใช้งาน ให้ใช้บรรทัดต่อไปนี้:
mailtarget.setOpenTracking(false);
Transactional
ถือว่าอีเมลเป็นอีเมลธุรกรรม โดยตั้งค่าเริ่มต้นเป็น "ใช้งาน" หากคุณต้องการปิดใช้งาน (เช่น ต้องการส่งจดหมายข่าวที่มีลิงก์ยกเลิกการสมัครรับข้อมูล) ให้ใช้บรรทัดต่อไปนี้:
mailtarget.setTransactional(false);