Mailtarget NodeJs SDK cho phép các nhà phát triển NodeJs làm việc với API Mailtarget một cách hiệu quả.
Bắt đầu
Yêu cầu
Hãy đảm bảo rằng bạn đang sử dụng phiên bản LTS của NodeJs, tối thiểu là NodeJs v14.
Cài đặt
Để cài đặt SDK NodeJS cho dự án của bạn, bạn có thể tải gói từ NPM bằng lệnh sau:
# NPM
npm install @mailtarget/nodejs-sdk
# Yarn
yarn add @mailtarget/nodejs-sdk
# PNPM
pnpm add @mailtarget/nodejs-sdk
Xác thực
Bạn cần tạo một API Key từ bảng điều khiển Mailtarget và sử dụng nó để xác thực.
Thiết lập Client
Sử dụng cơ bản
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();
Sử dụng Mẫu Email
Nếu bạn cần thay thế một văn bản bằng dữ liệu bạn cung cấp (dĩ nhiên bạn cần thiết lập mẫu phù hợp trên Mailtarget), bạn có thể khai báo nó làm tham số thứ tư của hàm sendMessageTemplate
:
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();
Nếu bạn đã sử dụng Mailtarget Template Creator, bạn có thể sử dụng mẫu đó để gửi email bằng cách gọi hàm sendMessageTemplate
và truyền templateId
làm tham số. Dưới đây là một ví dụ:
...
const substituteData = { lastname: 'Doe', birthdat: '1 January 1975' };
await mailtarget.sendMessageTemplate(subject, to, templateId, substituteData);
...
Cấu hình tùy chọn
Dưới đây là danh sách các cấu hình bạn có thể thực hiện trên email của mình (hãy chắc chắn rằng bạn khai báo chúng trước khi gọi sendMessage
hoặc 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;
Theo dõi Click
Theo dõi hoạt động nhấp chuột của một email bạn đã gửi, mặc định được kích hoạt. Nếu bạn muốn tắt, hãy sử dụng dòng sau:
mailtarget.setClickTracking(false);
Theo dõi Mở
Theo dõi hoạt động mở của một email bạn đã gửi, mặc định được kích hoạt. Nếu bạn muốn tắt, hãy sử dụng dòng sau:
mailtarget.setOpenTracking(false);
Email Giao dịch (Transactional)
Xử lý email như một email giao dịch, mặc định được kích hoạt. Nếu bạn muốn tắt (ví dụ: bạn muốn gửi một bản tin có liên kết hủy đăng ký), hãy sử dụng dòng sau:
mailtarget.setTransactional(false);