การส่ง e-Mail มากๆ พร้อมกัน ด้วย Google Sheet
การส่ง e-Mail มากๆ พร้อมกัน ต่างข้อความ ต่างสิ่งแนบ ด้วย Google Sheet
สมมุติว่า ต้องการส่งจดหมายวันคริสมาสต์ให้กับลูกค้าจำนวนมาก เป็นร้อยๆ คน โดยแต่ละข้อความมีความแตกต่างกัน รูปภาพอวยพรที่แนบไปกับจดหมายก็ต่างกัน
ตามปกติเราก็จะใช้วิธีการพิมพ์จดหมาย และส่งทีละฉบับ ซึ่งเสียเวลามาก บางทีก็ลืมไปว่า อันไหนส่งไปแล้ว เพราะลืมเช็ค คงปวดหัวน่าดู
จะง่ายกว่าไหมหากส่งจดหมายทั้งหมดเพียงแค่กดปุ่มเดียว ❗️ 🤔💌
มาลองใช้ Google Sheet ส่ง 📬📦 ดูกัน
เริ่มต้นด้วยการสร้าง Sheet และพิมพ์ข้อมูลตามรูปภาพ (รูปที่ 1) ยกเว้น ข้อมูลของ attachments ไม่ต้องพิมพ์ข้อมูลลงไป เพราะมันยุ่งเหยิง พิมพ์ยาก แต่จะอธิบายในวีดีโอตอนท้ายว่าเอามาจากไหน
ต่อไปพิมพ์โค้ด(Code) หรือ สคริปต์ (Script) ตามรูป (รูปที่ 2) ในวีดีโอจะมีการอธิบายสคริปต์ให้ด้วย
var EMAIL_SENT = "EMAIL_SENT";
function sentEmails(){
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2;
var numRows = 2;
var dataRange = sheet.getRange(startRow,1,numRows,6);
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[0];
var message = "Dear " + row[1] + "\n\n";
message = message + row[3] + "\n\n";
message = message + "Yours sincerely," + "\n";
message = message + "Mr.Greecha Katpratoom";
var emailSent = row[5];
if (emailSent != EMAIL_SENT) {
var subject = row[2];
var picture1 = DriveApp.getFileById(row[4]);
MailApp.sendEmail({
to: emailAddress,
subject: subject,
body: message,
attachments: [picture1.getBlob()]
})
sheet.getRange(startRow + i, 6).setValue(EMAIL_SENT);
SpreadsheetApp.flush();
}
}
}
กดรัน (Run) ตามรูป (รูปที่ 3)
สังเกตเมื่อทำการส่ง e-Mail เสร็จแล้วจะ จะมีคำว่า EMAIL_SENT ต่อท้าย (รูปที่ 4)
ตัวอย่างจดหมายที่ถูกส่งไปแล้ว (รูปที่ 5 และ 6)