Google Apps Script cung cấp các phương thức và đối tượng để truy xuất, gửi, và xử lý email từ Gmail.
Dưới đây là các ví dụ và các phương thức quan trọng để làm việc với Gmail trong Google Apps Script.
Để gửi email qua Gmail từ Google Apps Script, bạn có thể sử dụng phương thức MailApp.sendEmail(). Đây là phương thức đơn giản nhất và được sử dụng phổ biến nhất.
Ví dụ gửi email apps script:
var recipient = "example@example.com"; // Địa chỉ người nhận
var subject = "Test Email"; // Chủ đề email
var body = "This is a test email sent from Google Apps Script."; // Nội dung email
// Gửi email
MailApp.sendEmail(recipient, subject, body);
Bạn có thể lấy danh sách email trong hộp thư đến hoặc các thư mục khác (như Sent, Drafts) bằng cách sử dụng đối tượng GmailApp.
Ví dụ lấy email từ hộp thư đến:
var threads = GmailApp.getInboxThreads(0, 10); // Lấy 10 thư mới nhất trong hộp thư đến
for (var i = 0; i < threads.length; i++) {
var thread = threads[i];
var messages = thread.getMessages();
for (var j = 0; j < messages.length; j++) {
var message = messages[j];
Logger.log('Subject: ' + message.getSubject()); // In ra tiêu đề email
Logger.log('From: ' + message.getFrom()); // In ra người gửi
Logger.log('Body: ' + message.getPlainBody()); // In ra nội dung email
}
}
Google Apps Script cho phép bạn đọc các thông tin chi tiết về email, như người gửi, tiêu đề, nội dung, v.v. Bạn có thể sử dụng các phương thức của đối tượng GmailMessage để làm điều này.
Ví dụ tìm kiếm email theo điều kiện:
var threads = GmailApp.search('from:example@example.com'); // Tìm các email từ một người gửi
Logger.log('Found ' + threads.length + ' threads.');
for (var i = 0; i < threads.length; i++) {
var thread = threads[i];
var messages = thread.getMessages();
Logger.log('Subject: ' + messages[0].getSubject());
}
Bạn có thể đánh dấu email là đã đọc hoặc chưa đọc bằng phương thức markRead() và markUnread().
Ví dụ đánh dấu email là đã đọc
var threads = GmailApp.getInboxThreads(0, 10); // Lấy 10 thư mới nhất
for (var i = 0; i < threads.length; i++) {
threads[i].markRead(); // Đánh dấu các email là đã đọc
}
Nếu bạn muốn xóa một email hoặc một chuỗi email, bạn có thể sử dụng phương thức delete().
Ví dụ xóa email:
var threads = GmailApp.getInboxThreads(0, 10); // Lấy 10 thư mới nhất
for (var i = 0; i < threads.length; i++) {
threads[i].delete(); // Xóa email
}
Bạn có thể lên lịch gửi email tự động, ví dụ như gửi một báo cáo hàng tuần. Bạn có thể sử dụng các triggers để tự động gửi email vào các thời điểm nhất định.
Ví dụ tạo trigger gửi email hàng ngày:
function createTimeDrivenTriggers() {
// Tạo trigger để gửi email mỗi ngày vào lúc 8:00 sáng
ScriptApp.newTrigger('sendDailyReport')
.timeBased()
.everyDays(1)
.atHour(8)
.create();
}
function sendDailyReport() {
var recipient = "example@example.com";
var subject = "Daily Report";
var body = "This is your daily report.";
// Gửi email tự động
MailApp.sendEmail(recipient, subject, body);
}
Google Apps Script cho phép bạn tạo thư nháp (drafts) trong Gmail.
Ví dụ tạo thư nháp:
var recipient = "example@example.com";
var subject = "Draft Email";
var body = "This is a draft email created using Google Apps Script.";
// Tạo thư nháp
GmailApp.createDraft(recipient, subject, body);
Bạn có thể đính kèm tệp vào email khi gửi.
Ví dụ gửi email với tệp đính kèm:
var recipient = "example@example.com";
var subject = "Email with Attachment";
var body = "This email contains an attachment.";
var file = DriveApp.getFileById("your-file-id-here"); // Lấy tệp từ Google Drive
// Gửi email với tệp đính kèm
MailApp.sendEmail({
to: recipient,
subject: subject,
body: body,
attachments: [file.getAs(MimeType.PDF)]
});
Nếu cần những chức năng cao cấp hơn, bạn có thể sử dụng Gmail API. Để sử dụng Gmail API, bạn cần bật API trong Google Cloud Console và sử dụng OAuth để xác thực quyền truy cập.
Tìm kiếm:
Làm việc với Gmail trong Google Apps Script giúp bạn tự động hóa và tương tác với các email trong tài khoản Gmail của bạn.