[Series Email] Bài 4: Gửi Email Bcc Cho Danh Sách Nhập Vào Từ Google Sheet

https://hocggsheet.com/gui-email-bcc-cho-danh-sach-nhap-vao-tu-google-sheet/

Ở Bài 1, chúng ta đã biết về cách gửi email cơ bản bằng function sendEmail() và cách gửi email Bcc (người nhận không xem được danh sách người nhận) với ví dụ dưới đây:

012345678

function guiEmail() { MailApp.sendEmail('example@gmail.com', 'Bài 1', 'Xin chào, bạn khỏe không?', { name: 'Học Google Apps Script Sheet', bcc: 'example1@gmail.com, example2@gmail.com'} );}

Vậy với 1 danh sách nhập vào từ Google Sheet, làm thế nào để Bcc cho danh sách đó? Việc này không khó nhưng trước tiên hãy hiểu về bản chất.

Nếu bạn để ý kĩ sẽ thấy ở ví dụ trên, ‘example1@gmail.com, example2@gmail.com’chuỗi (string) chứ không phải mảng (array). Còn dải ô lấy từ Google Sheet thì sẽ luôn ở dạng mảng 2 chiều. Và để đưa danh sách từ Google Sheet vào thành phần bcc trong function sendEmail() thì ta phải chuyển mảng 2 chiều đó về dạng chuỗi.

Ví dụ và Code

Cho file Google Sheet với 1 danh sách chỉ với 2 email sau. Danh sách của các bạn có thể dài hơn nếu muốn.

Chúng ta sẽ thực hiện bằng 1 chương trình đơn giản như sau:

01234567891011

function bcclist() { var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('sheet1'); var lr = ss.getLastRow()-1; var nguoinhan = ss.getRange(2,1,lr).getValues().toString(); MailApp.sendEmail('example@gmail.com', 'Test Bcc', 'Xin chào', { name: 'Học Google Apps Script', bcc: nguoinhan })}

Giải thích

Trước tiên, chúng ta cần lấy danh sách ở Google Sheet bằng getRange()getValues() cho biến nguoinhan. Lưu ý: cho bạn nào không hiểu tại sao lại là getLastRow()-1 thì -1 là để chừa đi dòng thứ nhất chứa tiêu đề (Email)

Các bạn thêm hàm .toString() vào cuối biến nguoinhan để chuyển đổi mảng 2 chiều về dạng chuỗi

Cuối cùng, ta dùng hàm sendEmail() như bình thường để gửi email bcc. Phần bcc các bạn chỉ cần đưa biến nguoinhan (đã chuyển về dạng chuỗi) vào là được

Last updated

Navigation

Lionel

@Copyright 2023