ส่งอีเมลอัตโนมัติด้วย Google Sheet แจกโค้ดฟรี พร้อมใช้

[สอน + แจกโค้ดฟรี] วิธีส่งอีเมลอัตโนมัติด้วย Google Sheet ใส่ชื่อแต่ละคนได้ ไม่ต้องเขียนโค้ดเอง

ต้องส่งอีเมลหาลูกค้า 50 คน เนื้อหาเหมือนกัน แต่ชื่อกับยอดเงินไม่เหมือนกัน ถ้าคัดลอกแล้ววางทีละฉบับ ก็ใช้เวลาเป็นชั่วโมง และเสี่ยงส่งชื่อผิดคนด้วย

ปัญหาที่ตามมาคือ ทุกครั้งที่มีรายชื่อรอบใหม่ก็ต้องมานั่งทำซ้ำเหมือนเดิม และถ้าพลาดใส่ชื่อหรือยอดเงินผิดคน ก็เสียความน่าเชื่อถือกับลูกค้าทันที

บทความนี้ BookIntelligent จึงสอน วิธีส่งอีเมลอัตโนมัติด้วย Google Sheet ร่วมกับ Google Apps Script ที่ใส่ชื่อและข้อมูลของแต่ละคนให้เอง ทำตามได้ 5 ขั้นตอน ใช้ฟรี ไม่ต้องเขียนโค้ดเอง พร้อมแจกโค้ดพร้อมใช้ คัดลอกไปวางได้ทันที

เหมาะสำหรับคนทำงานออฟฟิศ ฝ่ายขาย ฝ่ายบัญชี แอดมิน และเจ้าของกิจการ SME ที่ต้องส่งอีเมลเนื้อหาเดียวกันหาหลายคนเป็นประจำ เช่น แจ้งยอดค้างชำระ แจ้งยอดขาย หรือยืนยันนัดหมาย

Table of Contents

ส่งอีเมลอัตโนมัติด้วย Google Sheet คืออะไร

ส่งอีเมลอัตโนมัติด้วย Google Sheet แจกโค้ดฟรี พร้อมใช้

วิธีนี้คือ Mail Merge คือการเอาข้อความต้นแบบ 1 ชุดมารวมกับรายชื่อในตาราง แล้วส่งออกเป็นอีเมลหลายฉบับ แต่ละฉบับมีข้อมูลเฉพาะของคนนั้น

เทียบง่าย ๆ เหมือน การพิมพ์ซองจดหมาย: เขียนจดหมายไว้ฉบับเดียว เว้นช่องชื่อไว้ แล้วให้เครื่องเติมชื่อแต่ละคนจากสมุดรายชื่อให้

Mail Merge Google Sheet ทำงานอย่างไร รายชื่อ + ข้อความต้นแบบ = อีเมลแต่ละคน

ตัวที่ทำงานเบื้องหลังคือ Google Apps Script ซึ่งเป็นเครื่องมือฟรีที่ติดมากับ Google Sheet ไม่ต้องติดตั้งอะไรเพิ่ม และไม่ต้องจ่ายค่า Email Marketing รายเดือน

ภาพรวมทั้งหมดมีแค่ 5 ขั้นตอน

  1. ใส่รายชื่อและอีเมลลง Google Sheet
  2. เขียนข้อความอีเมล โดยใส่ {{ชื่อ}} ตรงที่อยากให้เปลี่ยนตามแต่ละคน
  3. วางโค้ด Apps Script (คัดลอกจากบทความนี้ได้เลย)
  4. กดทดสอบส่งหาตัวเองก่อน 1 ฉบับ
  5. กด “ส่งอีเมลทั้งหมด” แล้วระบบจะบันทึกสถานะ “ส่งแล้ว” ให้ทุกแถว
5 ขั้นตอนส่งอีเมลอัตโนมัติด้วย Google Sheet

งานแบบไหนเหมาะกับการส่งอีเมลอัตโนมัติ

งานตัวอย่างข้อมูลที่เปลี่ยนตามแต่ละคน
แจ้งเตือนยอดค้างชำระ / ใบแจ้งหนี้ชื่อลูกค้า, ยอดเงิน, วันครบกำหนด
แจ้งยอดขาย / KPI ให้ทีมขายรายคนชื่อเซลส์, ยอดขาย, % ถึงเป้า
ยืนยันนัดหมาย / ลงทะเบียนอบรมชื่อ, วันที่, เวลา, สถานที่
ส่งลิงก์ดาวน์โหลดหรือรหัสให้ลูกค้าชื่อ, ลิงก์, รหัส
แจ้งผลสอบ / ผลประเมินพนักงานชื่อ, คะแนน, ผลลัพธ์

ถ้างานของคุณต้อง แนบไฟล์ PDF แยกรายคน เช่น สลิปเงินเดือนหรือใบแจ้งหนี้ ใช้ Template Pro ส่ง Gmail แนบไฟล์อัตโนมัติ แทนได้เลยครับ

วิธีส่งอีเมลอัตโนมัติด้วย Google Sheet ทีละขั้นตอน

ขั้นตอนที่ 1 เตรียม Google Sheet (2 ชีท)

สร้าง Google Sheet ใหม่ แล้วตั้งชื่อชีทให้ ตรงตามนี้

ชีท “รายชื่อ”

แถวที่ 1 เป็นหัวคอลัมน์ ต้องมีคอลัมน์ อีเมล และ สถานะ ส่วนคอลัมน์อื่นจะเพิ่มอะไรก็ได้

ชื่ออีเมลยอดค้างชำระวันครบกำหนดสถานะ
สมชายsomchai@example.com1,50015/11/2026
มาลีmalee@example.com2,00020/11/2026
ตัวอย่างชีทรายชื่อสำหรับส่งอีเมลอัตโนมัติ Google Sheet

ชีท “ข้อความ”

  • A1 พิมพ์ หัวเรื่อง และ B1 พิมพ์หัวเรื่องอีเมล
  • A2 พิมพ์ เนื้อหา และ B2 พิมพ์เนื้อหาอีเมล (กด Ctrl + Enter เพื่อขึ้นบรรทัดใหม่ในเซลล์)

ใส่ {{ชื่อคอลัมน์}} ตรงที่อยากดึงข้อมูลของแต่ละคน ชื่อต้องตรงกับหัวคอลัมน์ทุกตัวอักษร

B1: แจ้งยอดค้างชำระ คุณ{{ชื่อ}}

B2: เรียน คุณ{{ชื่อ}}

    ขอแจ้งยอดค้างชำระ {{ยอดค้างชำระ}} บาท
    กรุณาชำระภายในวันที่ {{วันครบกำหนด}}

    ขอบคุณครับ
ตั้งค่าหัวเรื่องและเนื้อหาอีเมลใน Google Sheet

ขั้นตอนที่ 2 วางโค้ด Apps Script

  1. ใน Google Sheet ไปที่เมนู ส่วนขยาย (Extensions) → Apps Script
  2. ลบโค้ดเดิมในไฟล์ Code.gs ออกให้หมด
  3. คัดลอกโค้ดด้านล่างไปวาง แล้วกด 💾 บันทึก
/**
 * ส่งอีเมลอัตโนมัติจาก Google Sheets (Mail Merge) — by Bookintelligent
 *
 * ชีท "รายชื่อ" : แถวที่ 1 = หัวคอลัมน์ (ต้องมีคอลัมน์ "อีเมล" และ "สถานะ")
 * ชีท "ข้อความ" : B1 = หัวเรื่องอีเมล, B2 = เนื้อหาอีเมล
 *                 ใช้ {{ชื่อคอลัมน์}} เพื่อดึงข้อมูลแต่ละคน เช่น {{ชื่อ}} {{ยอดค้างชำระ}}
 */
const CONFIG = {
  DATA_SHEET: 'รายชื่อ',
  TEMPLATE_SHEET: 'ข้อความ',
  EMAIL_COL: 'อีเมล',
  STATUS_COL: 'สถานะ',
  SENDER_NAME: 'Bookintelligent', // ชื่อผู้ส่งที่ผู้รับจะเห็น
};

/** สร้างเมนู "📧 ส่งอีเมล" ทุกครั้งที่เปิดไฟล์ */
function onOpen() {
  SpreadsheetApp.getUi()
    .createMenu('📧 ส่งอีเมล')
    .addItem('1) ทดสอบส่งหาตัวเอง', 'sendTestEmail')
    .addItem('2) ส่งอีเมลทั้งหมด', 'sendEmails')
    .addSeparator()
    .addItem('เช็กโควตาคงเหลือวันนี้', 'showQuota')
    .addToUi();
}

/** ส่งอีเมลให้ทุกแถวที่ยังไม่ได้ส่ง */
function sendEmails() {
  const lock = LockService.getDocumentLock();
  if (!lock.tryLock(5000)) {
    SpreadsheetApp.getActive().toast('ระบบกำลังส่งอยู่ กรุณารอสักครู่', '📧 ส่งอีเมล');
    return;
  }
  try {
    const ss = SpreadsheetApp.getActive();
    const sheet = ss.getSheetByName(CONFIG.DATA_SHEET);
    if (!sheet) throw new Error('ไม่พบชีท "' + CONFIG.DATA_SHEET + '"');

    const tpl = getTemplate_();
    const data = sheet.getDataRange().getDisplayValues();
    const headers = data[0].map(function (h) { return String(h).trim(); });
    const emailIdx = headers.indexOf(CONFIG.EMAIL_COL);
    const statusIdx = headers.indexOf(CONFIG.STATUS_COL);
    if (emailIdx === -1 || statusIdx === -1) {
      throw new Error('แถวที่ 1 ต้องมีคอลัมน์ "' + CONFIG.EMAIL_COL + '" และ "' + CONFIG.STATUS_COL + '"');
    }

    let quota = MailApp.getRemainingDailyQuota();
    let sent = 0, skipped = 0, failed = 0, waiting = 0;

    for (let r = 1; r < data.length; r++) {
      const row = data[r];
      const email = String(row[emailIdx]).trim();
      const status = String(row[statusIdx]);

      if (!email || status.indexOf('ส่งแล้ว') === 0) { skipped++; continue; }

      const statusCell = sheet.getRange(r + 1, statusIdx + 1);
      if (!isValidEmail_(email)) { statusCell.setValue('❌ อีเมลไม่ถูกต้อง'); failed++; continue; }
      if (quota < 1) { waiting++; continue; } // โควตาหมด รอส่งรอบถัดไป

      try {
        const values = toObject_(headers, row);
        MailApp.sendEmail({
          to: email,
          subject: fill_(tpl.subject, values, false),
          htmlBody: fill_(tpl.body, values, true).replace(/\n/g, '<br>'),
          name: CONFIG.SENDER_NAME,
        });
        statusCell.setValue('ส่งแล้ว ' + Utilities.formatDate(new Date(), ss.getSpreadsheetTimeZone(), 'dd/MM/yyyy HH:mm'));
        sent++;
        quota--;
      } catch (err) {
        statusCell.setValue('❌ ' + err.message);
        failed++;
      }
    }

    SpreadsheetApp.flush();
    let msg = 'ส่งสำเร็จ ' + sent + ' | ข้าม ' + skipped + ' | ผิดพลาด ' + failed;
    if (waiting > 0) msg += ' | โควตาหมด รอส่งอีก ' + waiting + ' ฉบับ';
    ss.toast(msg, '📧 ส่งอีเมลเสร็จแล้ว', 10);
  } finally {
    lock.releaseLock();
  }
}

/** ส่งอีเมลแถวแรกที่ยังไม่ส่ง ไปหาตัวเองก่อน (ไม่เปลี่ยนสถานะ) */
function sendTestEmail() {
  const ui = SpreadsheetApp.getUi();
  const sheet = SpreadsheetApp.getActive().getSheetByName(CONFIG.DATA_SHEET);
  const tpl = getTemplate_();
  const data = sheet.getDataRange().getDisplayValues();
  const headers = data[0].map(function (h) { return String(h).trim(); });
  const emailIdx = headers.indexOf(CONFIG.EMAIL_COL);
  const statusIdx = headers.indexOf(CONFIG.STATUS_COL);

  const row = data.slice(1).find(function (rw) {
    return String(rw[emailIdx]).trim() && String(rw[statusIdx]).indexOf('ส่งแล้ว') !== 0;
  });
  if (!row) { ui.alert('ไม่มีแถวที่รอส่ง'); return; }

  const me = Session.getActiveUser().getEmail();
  const values = toObject_(headers, row);
  MailApp.sendEmail({
    to: me,
    subject: '[ทดสอบ] ' + fill_(tpl.subject, values, false),
    htmlBody: fill_(tpl.body, values, true).replace(/\n/g, '<br>'),
    name: CONFIG.SENDER_NAME,
  });
  ui.alert('ส่งอีเมลทดสอบไปที่ ' + me + ' แล้ว\n(ใช้ข้อมูลของ ' + row[emailIdx] + ')');
}

function showQuota() {
  SpreadsheetApp.getUi().alert('วันนี้ส่งได้อีก ' + MailApp.getRemainingDailyQuota() + ' ฉบับ');
}

/* ---------- ฟังก์ชันช่วย ---------- */

function getTemplate_() {
  const t = SpreadsheetApp.getActive().getSheetByName(CONFIG.TEMPLATE_SHEET);
  if (!t) throw new Error('ไม่พบชีท "' + CONFIG.TEMPLATE_SHEET + '"');
  const subject = String(t.getRange('B1').getValue()).trim();
  const body = String(t.getRange('B2').getValue());
  if (!subject || !body.trim()) throw new Error('กรุณาใส่หัวเรื่องที่ B1 และเนื้อหาที่ B2 ในชีท "' + CONFIG.TEMPLATE_SHEET + '"');
  return { subject: subject, body: body };
}

function toObject_(headers, row) {
  const obj = {};
  headers.forEach(function (h, i) { obj[h] = row[i]; });
  return obj;
}

/** แทน {{ชื่อคอลัมน์}} ด้วยข้อมูลจริง (ถ้าไม่พบคอลัมน์ จะคงข้อความเดิมไว้ให้เห็นว่าผิด) */
function fill_(text, values, escapeHtml) {
  return text.replace(/\{\{\s*([^}]+?)\s*\}\}/g, function (match, key) {
    if (!(key in values)) return match;
    const v = String(values[key]);
    return escapeHtml ? escape_(v) : v;
  });
}

function escape_(s) {
  return s.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
}

function isValidEmail_(email) {
  return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email);
}

โค้ดนี้ทำอะไรให้บ้าง (ไม่ต้องแก้อะไร)

  • ✅ ไม่ส่งซ้ำ: แถวที่สถานะขึ้นว่า “ส่งแล้ว” จะถูกข้ามอัตโนมัติ
  • ✅ ตรวจอีเมลผิดรูปแบบ: แถวไหนอีเมลผิดจะขึ้น ❌ ให้เห็นเลย
  • ✅ ดูโควตา: ถ้าโควตาวันนี้หมด จะหยุดส่งและบอกว่าเหลือรอส่งกี่ฉบับ
  • ✅ กดซ้ำแล้วไม่ส่งเบิ้ล: มีระบบล็อกป้องกันการกดปุ่มส่งซ้อนกัน
  • ✅ ตัวเลขและวันที่แสดงตามที่เห็นในชีท เช่น 1,500 หรือ 15/11/2026
วางโค้ด Google Apps Script ส่งอีเมลอัตโนมัติ

ขั้นตอนที่ 3 อนุญาตสิทธิ์ (ทำครั้งแรกครั้งเดียว)

  1. กลับไปที่ Google Sheet แล้ว รีเฟรชหน้า (F5) จะเห็นเมนู 📧 ส่งอีเมล ขึ้นมา
  2. กด 📧 ส่งอีเมล → 1) ทดสอบส่งหาตัวเอง
  3. จะมีหน้าต่างขอสิทธิ์ ให้กด ดำเนินการต่อ (Continue) แล้วเลือกบัญชี Google ของคุณ
  4. ถ้าขึ้นหน้าเตือน “Google hasn’t verified this app” ให้กด Advanced → Go to … (unsafe) แล้วกด Allow

หน้าเตือนนี้ขึ้นเป็นปกติ เพราะเป็นสคริปต์ที่คุณสร้างเองในไฟล์ของตัวเอง ไม่ได้ผ่านการตรวจของ Google เหมือนแอปทั่วไป และสคริปต์จะส่งอีเมลจากบัญชีของคุณเท่านั้น

อนุญาตสิทธิ์ Apps Script ส่งอีเมลจาก Gmail

ขั้นตอนที่ 4 ทดสอบส่งหาตัวเอง

กด 1) ทดสอบส่งหาตัวเอง อีกครั้ง ระบบจะเอาข้อมูลแถวแรกที่ยังไม่ส่งมาสร้างอีเมล แล้วส่งเข้า Gmail ของคุณเอง หัวเรื่องจะขึ้นต้นด้วย [ทดสอบ]

เช็ก 3 อย่างนี้ก่อนส่งจริง

  • ชื่อและตัวเลขขึ้นถูกต้อง ไม่มี {{...}} ค้างอยู่
  • การเว้นบรรทัดอ่านง่าย
  • ชื่อผู้ส่งถูกต้อง (แก้ได้ที่ SENDER_NAME ในโค้ด)

ขั้นตอนที่ 5 กดส่งอีเมลทั้งหมด

กด 📧 ส่งอีเมล → 2) ส่งอีเมลทั้งหมด แล้วรอจนมุมขวาล่างขึ้นสรุปผล เช่น ส่งสำเร็จ 48 | ข้าม 2 | ผิดพลาด 0

คอลัมน์ สถานะ จะขึ้นว่า ส่งแล้ว 03/11/2026 14:05 ทุกแถว ถ้ามีรายชื่อใหม่ ให้เพิ่มแถวแล้วกดส่งอีกครั้ง ระบบจะส่งเฉพาะแถวที่ยังไม่ได้ส่ง

สถานะการส่งอีเมลอัตโนมัติใน Google Sheet

ตั้งเวลาให้ส่งอีเมลอัตโนมัติทุกวัน (เสริม)

ถ้ามีรายชื่อเพิ่มเข้ามาเรื่อย ๆ เช่น ลูกค้าที่กรอกฟอร์มเข้ามา ตั้งให้ระบบส่งเองได้

  1. ในหน้า Apps Script กดไอคอน ⏰ ทริกเกอร์ (Triggers) ทางซ้าย
  2. กด + เพิ่มทริกเกอร์
  3. เลือกฟังก์ชัน sendEmails, แหล่งที่มาของเหตุการณ์ ตามเวลา (Time-driven), เลือก ตัวจับเวลารายวัน แล้วเลือกช่วงเวลาที่ต้องการ
  4. กด บันทึก

ระบบจะส่งเฉพาะแถวที่ยังไม่ส่งทุกวัน และไม่ส่งซ้ำ

ข้อดีของการส่งอีเมลอัตโนมัติด้วย Google Sheet

ใช้ฟรีด้วยบัญชี Google ไม่มีค่าใช้จ่ายรายเดือน

ไม่ต้องสมัครโปรแกรม Email Marketing แบบรายเดือน ใช้แค่ Google Sheet และ Apps Script ที่มากับบัญชี Google อยู่แล้ว

ใส่ข้อมูลเฉพาะของแต่ละคนได้ไม่จำกัด

เพิ่มคอลัมน์ได้ตามต้องการ แล้วเรียกใช้ด้วย {{ชื่อคอลัมน์}} อีเมลแต่ละฉบับจึงมีชื่อ ยอดเงิน หรือวันที่ของคนนั้นโดยไม่ต้องพิมพ์เอง

ไม่ส่งซ้ำ และเห็นสถานะทุกแถว

ระบบบันทึกคำว่า “ส่งแล้ว” พร้อมวันเวลาไว้ในชีท ถ้ากดส่งรอบใหม่จะส่งเฉพาะแถวที่ยังไม่ได้ส่ง

ทำงานบนคลาวด์ ตั้งเวลาให้ส่งเองได้

ไม่ต้องเปิดคอมหรือติดตั้ง Outlook ตั้งทริกเกอร์ไว้ครั้งเดียว ระบบจะส่งให้เองตามเวลาที่กำหนด

ข้อควรระวังในการใช้งาน

เพื่อให้ส่งอีเมลได้ราบรื่นและไม่โดนจำกัดบัญชี ควรปฏิบัติดังนี้

  • โควตาต่อวัน: Gmail ฟรีส่งผ่านสคริปต์ได้ประมาณ 100 ผู้รับ/วัน ส่วน Google Workspace ได้ประมาณ 1,500 ผู้รับ/วัน (เช็กได้จากเมนู “เช็กโควตาคงเหลือวันนี้”)
  • ไม่ใช่เครื่องมือยิงโฆษณา: ถ้าส่งอีเมลขายของหาคนที่ไม่ได้ขอรับ อาจโดนกด Spam และบัญชีถูกจำกัดได้
  • PDPA: อีเมลเชิงการตลาดต้องได้รับความยินยอมจากผู้รับ และควรมีช่องทางให้ขอยกเลิกรับ
  • ไฟล์แนบ: โค้ดฟรีนี้ยังไม่รองรับการแนบไฟล์แยกรายคน ถ้าต้องการ ดู Template Pro ส่ง Gmail แนบไฟล์อัตโนมัติ
  • ทดสอบส่งหาตัวเองก่อนทุกครั้งที่แก้ข้อความหรือเพิ่มคอลัมน์ใหม่

ปัญหาที่เจอบ่อยและวิธีแก้

อาการสาเหตุ / วิธีแก้
ไม่เห็นเมนู 📧 ส่งอีเมลรีเฟรชหน้า Google Sheet 1 ครั้ง
ขึ้น ไม่พบชีท "รายชื่อ"ชื่อชีทต้องตรงตามนี้ทุกตัวอักษร และไม่มีช่องว่างเกิน
ในอีเมลยังมี {{ชื่อ}} ค้างอยู่ชื่อใน {{ }} ไม่ตรงกับหัวคอลัมน์ ให้คัดลอกหัวคอลัมน์มาวางเลย
สถานะขึ้น ❌ อีเมลไม่ถูกต้องมีช่องว่างหรือพิมพ์ผิด เช่น ขาด @ หรือ .com
ขึ้น “Service invoked too many times”โควตาวันนี้หมด รอส่งพรุ่งนี้ หรือตั้งทริกเกอร์รายวันไว้
อีเมลเข้า Spamอย่าใส่ลิงก์เยอะ อย่าใช้คำขายแรง ๆ และส่งเฉพาะคนที่รู้จักคุณ

คำถามที่พบบ่อย (FAQ)

ส่งอีเมลอัตโนมัติด้วย Google Sheet เสียเงินไหม?
ไม่เสียเงินครับ ใช้แค่บัญชี Google ฟรี ส่งได้ประมาณ 100 ผู้รับต่อวัน

ต้องเขียนโค้ดเป็นไหม?
ไม่ต้องครับ คัดลอกโค้ดจากบทความนี้ไปวางได้เลย ส่วนที่ต้องแก้มีแค่ชื่อผู้ส่ง

ส่งจาก Gmail บริษัทได้ไหม?
ได้ ถ้าบริษัทใช้ Google Workspace และผู้ดูแลระบบไม่ได้ปิดสิทธิ์ Apps Script ไว้ จะได้โควตาสูงขึ้นด้วย

ใส่ข้อมูลแต่ละคนได้กี่ช่อง?
ไม่จำกัดครับ เพิ่มคอลัมน์ได้ตามต้องการ แล้วเรียกใช้ด้วย {{ชื่อคอลัมน์}}

แนบไฟล์ PDF แยกแต่ละคนได้ไหม?
โค้ดฟรีในบทความนี้ยังไม่รองรับ ถ้าต้องการ ใช้ Template Pro ส่ง Gmail แนบไฟล์อัตโนมัติ ได้เลยครับ (แนบได้ 4 ไฟล์ต่อคน)

ต่างจาก Mail Merge ใน Word / Excel VBA ยังไง?
วิธีนี้ทำงานบนคลาวด์ ไม่ต้องเปิดคอมหรือติดตั้ง Outlook และตั้งเวลาให้ส่งเองได้ ส่วนถ้าทีมใช้ Excel และ Outlook อยู่แล้ว ดูบทความ ส่งอีเมลอัตโนมัติด้วย Excel VBA

ถ้าต้องการแนบไฟล์ หรือส่งเกิน 100 ฉบับแบบไม่ต้องคอยกด

โค้ดฟรีด้านบนเหมาะกับงานส่งข้อความ ถ้างานของคุณต้อง แนบสลิปเงินเดือน ใบแจ้งหนี้ หรือรายงาน PDF แยกรายคน ผมทำ ระบบส่ง Gmail แนบไฟล์อัตโนมัติด้วย Google Sheet (Template Pro) ไว้ให้แล้ว

ความสามารถโค้ดฟรี (บทความนี้)Template Pro
ส่งอีเมลหลายคน ใส่ชื่อแต่ละคน✅✅
บันทึกสถานะ / ไม่ส่งซ้ำ✅✅
แนบไฟล์จาก Google Drive (สูงสุด 4 ไฟล์ต่อคน)❌✅
ช่อง CC / ข้ามรายแถว (Skip)❌✅
Preview ก่อนส่งทุกฉบับ❌✅
Auto Loop: โควตาหมดแล้วรันต่อเองวันถัดไปจนส่งครบ❌✅
ดึงรายชื่อไฟล์แนบจากโฟลเดอร์ให้อัตโนมัติ❌✅
ราคาฟรี249 บาท ใช้ได้ตลอดชีพ
Template Pro ระบบส่ง Gmail แนบไฟล์อัตโนมัติด้วย Google Sheet

ดูคลิปการใช้งาน [Template Pro] ระบบส่ง Gmail อัตโนมัติด้วย Google Sheets

⭐ Template Pro
ระบบส่ง Gmail + แนบไฟล์
อัตโนมัติด้วย Google Sheet
  • ✅ แนบไฟล์ได้ 4 ไฟล์ต่อคน
  • ✅ Auto Loop ส่งต่อเองจนครบ
  • ✅ Preview ก่อนส่งทุกฉบับ
  • ✅ ใส่ CC และข้ามบางแถวได้
249 บาท499 บาท
ดูรายละเอียด Template Pro →
จ่ายครั้งเดียว ใช้ได้ตลอดชีพ

สรุป

การส่งอีเมลอัตโนมัติด้วย Google Sheet ใช้แค่ ตารางรายชื่อ + ข้อความต้นแบบ + โค้ดชุดเดียว ก็เปลี่ยนงานที่เคยใช้เป็นชั่วโมงให้เหลือไม่กี่วินาทีได้ ทั้งฟรีและไม่ต้องเขียนโค้ดเอง

สิ่งสำคัญที่สุดคือทดสอบส่งหาตัวเองก่อนส่งจริงทุกครั้ง และส่งเฉพาะคนที่รู้จักหรือยินยอมรับอีเมลจากคุณ

หวังว่าวิธีส่งอีเมลอัตโนมัติด้วย Google Sheet นี้จะช่วยให้การส่งอีเมลหาลูกค้าหรือทีมงานของคุณเร็วขึ้นและผิดพลาดน้อยลง

ใครทดลองใช้งานแล้วติดปัญหา หรือต้องการให้เพิ่มฟังก์ชัน สามารถแสดงความคิดเห็นไว้ได้เลยครับ

ดูบทความเพิ่มเติมได้ดังนี้

ตอนนี้ ผมมีทำ [Template Pro] ระบบส่ง Gmail อัตโนมัติด้วย Google Sheet แนบไฟล์ได้ 4 ไฟล์ต่อคน (Auto Loop ส่งต่อเองจนครบ) สามารถดูรายละเอียดได้ที่ Link นี้