Cấp độ lập trình: Sơ cấp
Thời lượng: 10 phút
Loại dự án: Tự động hoá bằng một trình đơn tuỳ chỉnh
Mục tiêu
- Hiểu rõ chức năng của giải pháp.
- Hiểu rõ chức năng của các dịch vụ Apps Script trong giải pháp.
- Thiết lập tập lệnh.
- Chạy tập lệnh.
Giới thiệu về giải pháp này
Tự động điền dữ liệu từ Trang tính vào một mẫu email. Email được gửi từ tài khoản Gmail của bạn để bạn có thể trả lời thư của người nhận.
Quan trọng: Mẫu hợp nhất thư này tuân theo các hạn mức email được mô tả trong Hạn mức cho các dịch vụ của Google.

Cách hoạt động
Bạn tạo một mẫu email nháp trong Gmail có các trình giữ chỗ tương ứng với dữ liệu trong bảng tính Trang tính. Mỗi tiêu đề cột trong một trang tính đại diện cho một thẻ trình giữ chỗ. Tập lệnh sẽ gửi thông tin cho từng trình giữ chỗ từ bảng tính đến vị trí của thẻ trình giữ chỗ tương ứng trong email nháp.
Dịch vụ Apps Script
Giải pháp này sử dụng các dịch vụ sau:
- Dịch vụ Gmail: Nhận, đọc,
và gửi email nháp mà bạn muốn gửi cho người nhận.
- Nếu email của bạn có chứa các ký tự Unicode như biểu tượng cảm xúc, hãy sử dụng dịch vụ Mail thay thế. Tìm hiểu cách cập nhật mã để đưa các ký tự Unicode vào email.
- Dịch vụ Trang tính: Điền thông tin được cá nhân hoá cho từng người nhận vào các trình giữ chỗ email.
|
Bạn thích học qua video?
Kênh Nhà phát triển Google Workspace cung cấp các video về mẹo, thủ thuật và các tính năng mới nhất.
|
Điều kiện tiên quyết
Để sử dụng mẫu này, bạn cần đáp ứng các điều kiện tiên quyết sau:
- Một Tài khoản Google (tài khoản Google Workspace có thể cần được quản trị viên phê duyệt).
- Một trình duyệt web có quyền truy cập vào Internet.
Thiết lập tập lệnh
Hoàn tất các bước sau để thiết lập tập lệnh.
Tạo dự án Apps Script
Nhấp vào nút sau để tạo bản sao của bảng tính mẫu Gmail/Sheets Mail Merge (Hợp nhất thư Gmail/Trang tính). Dự án Apps Script cho giải pháp này được đính kèm vào bảng tính.
Trong bảng tính đã sao chép, hãy cập nhật cột Recipients (Người nhận) bằng các địa chỉ email mà bạn muốn sử dụng trong tính năng hợp nhất thư.
(Không bắt buộc) Thêm, chỉnh sửa hoặc xoá các cột để tuỳ chỉnh dữ liệu mà bạn muốn đưa vào mẫu email.
Nếu thay đổi tên của cột Recipient (Người nhận) hoặc Email Sent (Email đã gửi), bạn phải cập nhật mã tương ứng trong dự án Apps Script. Bạn có thể mở dự án Apps Script từ bảng tính bằng cách chọn Tiện ích mở rộng > Apps Script.
Tạo mẫu email
- Trong tài khoản Gmail, hãy tạo một email nháp. Để đưa dữ liệu
từ bảng tính vào email, hãy sử dụng các trình giữ chỗ tương ứng với
tên cột được đặt trong dấu ngoặc nhọn, chẳng hạn như
{{First name}}.- Nếu định dạng văn bản trong email, bạn cũng phải định dạng dấu ngoặc của trình giữ chỗ.
- Trình giữ chỗ có phân biệt chữ hoa chữ thường và phải khớp chính xác với tiêu đề cột.
- Sao chép dòng tiêu đề của email nháp.
Chạy tập lệnh
- Trong bảng tính, hãy nhấp vào Mail Merge > Send Emails. Bạn có thể cần làm mới trang để trình đơn tuỳ chỉnh này xuất hiện.
- Khi được nhắc, hãy cho phép tập lệnh chạy. <<../_snippets/oauth.md>>
- Nhấp lại vào Mail Merge > Send Emails.
- Dán dòng tiêu đề của mẫu email rồi nhấp vào OK.
Nếu bạn áp dụng một bộ lọc cho trang tính, tập lệnh vẫn sẽ gửi email cho những người tham gia đã lọc, nhưng sẽ không thêm dấu thời gian.
Xem lại mã
Để xem lại mã Apps Script cho giải pháp này, hãy nhấp vào Xem mã nguồn:
Xem mã nguồn
Code.gs
Sửa đổi
Bạn có thể chỉnh sửa tính năng tự động hoá hợp nhất thư cho phù hợp với nhu cầu của mình. Các ví dụ sau đây minh hoạ một vài thay đổi không bắt buộc mà bạn có thể thực hiện đối với mã nguồn.
Thêm các tham số email Bcc, Cc, ReplyTo hoặc From
Mã mẫu có một số tham số bổ sung (đã được nhận xét) cho phép bạn kiểm soát tên của tài khoản gửi email, trả lời địa chỉ email, cũng như địa chỉ email Bcc và Cc.
Kích hoạt các tham số mà bạn muốn thêm bằng cách xoá dấu gạch chéo về phía trước
// ở phía trước mỗi tham số.
Mẫu sau đây cho thấy một đoạn trích từ hàm sendEmails
kích hoạt hầu hết các tham số email:
GmailApp.sendEmail(row[RECIPIENT_COL], msgObj.subject, msgObj.text, { htmlBody: msgObj.html, bcc: 'bcc@example.com', cc: 'cc@example.com', from: 'from.alias@example.com', name: 'name of the sender', replyTo: 'reply@example.com', // noReply: true, // if the email should be sent from a generic no-reply email address (not available to gmail.com users)
Trong mẫu trước đó, tham số noReply vẫn được nhận xét
vì tham số replyTo đã được đặt.
Đưa các ký tự Unicode vào email
Nếu muốn đưa các ký tự Unicode (chẳng hạn như biểu tượng cảm xúc) vào email, bạn phải cập nhật mã để sử dụng dịch vụ Mail thay vì dịch vụ Gmail.
Trong mã mẫu, hãy cập nhật dòng sau:
GmailApp.sendEmail(row[RECIPIENT_COL], msgObj.subject, msgObj.text, {
Thay thế dòng bằng đoạn mã sau:
MailApp.sendEmail(row[RECIPIENT_COL], msgObj.subject, msgObj.text, {
Người đóng góp
Mẫu này do Martin Hawksey (Trưởng nhóm Thiết kế và công nghệ học tập tại Viện Edinburgh Futures, blogger và Chuyên gia về nhà phát triển của Google) tạo ra.
- Tìm Martin trên Twitter @mhawksey.
- Đọc các bài đăng trên blog liên quan đến Apps Script của Martin.
- Xem chương trình Totally Unscripted của Martin trên YouTube.
Mẫu này do Google duy trì với sự trợ giúp của các Chuyên gia về nhà phát triển của Google.