📚 #2.Automate to Send An Email
Questions & Answer:
- Tôi đã quen với việc gửi email hằng ngày, tại sao phải tự động hóa ? 👉 Một hai cái email thì không nói làm gì. Tùy vào tính chất công việc, đôi lúc bạn phải send email cho một tập thể hàng trăm người thì mới cần quản lý và tự động !!
- Nhưng mà email cũng có chức năng gửi đồng loạt, hay đơn giản hơn tôi có thể group mọi người chung 1 email, Làm chi cho phức tạp vậy ? 👉 Đương nhiên gmail có thể hỗ trợ function để làm việc đó. Nhưng nếu mỗi cái email bạn phải thay đổi nội dung thì sao ? Trong khi đó, công ty vẫn chưa hỗ trợ tool nào để quản lý danh sách người gửi cả ?? Bạn sẽ phải mất cả tuần để làm nó !
- Nó có khó không ? tôi rất ghét học những thứ phức tạp ! 👉 Nó không khó nhé! Chỉ cần bạn xài nhiều bạn sẽ quen. Nó sẽ giúp bạn tiết kiệm thời gian một cách tối đa nếu như bạn ứng dụng đúng ! Nhiều khi nó còn là điểm sáng cho bạn đấy.
Đề bài như sau:
⏱ Hôm nay tôi phải gửi email cho 200 nhân viên, mỗi nhân viên tôi phải thông báo một vấn đề khác nhau ! Hạn đến ngày mai tôi phải gửi xong, Làm sao đây ?
⛔ Hey hey ! Stop ! bạn tính dành cả tuần để gửi email viết tay cho 200 người như thế này hay sao ?? 👉 Vậy giờ là lúc sử dụng App Script đấy!
Action Lists:
- Bước 1: Cái gì cũng vậy, đầu tiên mình phải tạo một project script mới bằng cách Tool > Script Editor
- Bước 2: Nhập dòng code bên dưới vào khung script editor, lần này tôi sẽ giải thích từng dòng code luôn ở đây !
function AutomateGmail(){
var ss = SpreadsheetApp.getActiveSpreadsheet(); //---> Active Sheet của bạn, đây là thư viện của google app script
var ws = ss.getSheetByName('Sheet1'); // ---> Chọn Sheet 1, cũng chính là sheet chứa danh sách email mà bạn muốn gửi
var n = ws.getRange("A1").getDataRegion().getLastRow() - 1; // ---> Lấy số cuối cùng trong danh sách gửi mail
var data = ws.getRange(2,1,n,3).getValues(); // ---> Lấy hết data dữ liệu bao gồm cột email, cột title, cột nội dung
var email = data.map(function(r){return r[0];}); // ---> Chuyển data về dữ liệu cột người gửi
var title = data.map(function(r){return r[1];}); // ---> Chuyển data về dữ liệu cột chủ đề
var content = data.map(function(r){return r[2];}); // ---> Chuyển data về dữ liệu cột nội dung
//Logger.log(name); // ---> In ra xem kết quả đúng hay sai, nhưng trước mắt không cần line code này
for(var i=0; i <= n;i++) // ---> bắt đầu hàm lặp for, tạo biến i, cho biến i chạy từ 0 đến dòng cuối, hết vòng lặp i sẽ tăng thêm 1
{ // --> mở vòng lặp
GmailApp.sendEmail(email[i],title[i],content[i]); // ---> gửi email theo số thứ tự dòng, gửi đến hết danh sách
} // ---> đóng vòng lặp
}
Kết Luận:
Không biết các bạn nghĩ như nào, chứ riêng bản thân tôi thấy cách này rất chi là tiện. Tại sao thế ?? Vì bạn chỉ việc check kỹ các email nội dung, chủ đề và sắp chúng đúng thứ tự trong danh sách bạn muốn. Rất nhanh thôi bạn có thể gửi email vừa dễ, gọn và không cần phải lên Gmail nhé !