สร้างระบบส่งอีเมลอัตโนมัติด้วย Google Sheets และ Apps Script: ฉบับจับมือทำ

ในยุคดิจิทัล การสื่อสารผ่านอีเมลยังคงเป็นเครื่องมือที่สำคัญอย่างยิ่ง ไม่ว่าจะเป็นการส่งข่าวสารการตลาด, การแจ้งเตือนลูกค้า, หรือการส่งรายงานภายในองค์กร แต่การต้องมานั่งส่งอีเมลทีละฉบับหรือส่งเป็นประจำทุกวันอาจเป็นเรื่องที่เสียเวลาและเสี่ยงต่อความผิดพลาดได้ง่าย บทความนี้จะมาแนะนำวิธีสร้าง “ระบบส่งอีเมลอัตโนมัติ” แบบง่ายๆ แต่ทรงพลัง โดยใช้เครื่องมือฟรีที่คุณคุ้นเคยอย่าง Google Sheets ร่วมกับ Google Apps Script โดยไม่จำเป็นต้องมีความรู้ด้านการเขียนโปรแกรมมาก่อน

Google Apps Script คืออะไร?

Google Apps Script คือ แพลตฟอร์มการเขียนสคริปต์บนคลาวด์ของ Google ที่ช่วยให้เราสามารถสร้างฟังก์ชันการทำงานเพิ่มเติมและเชื่อมต่อบริการต่างๆ ของ Google เข้าด้วยกันได้ เช่น Sheets, Docs, Forms, Gmail และ Calendar พูดง่ายๆ ก็คือเป็นเครื่องมือที่ช่วยสั่งให้แอปของ Google ทำงานตามที่เราต้องการได้โดยอัตโนมัตินั่นเอง

สิ่งที่ต้องเตรียม

  1. บัญชี Google (Gmail)
  2. ข้อมูลที่ต้องการส่ง ซึ่งจะเตรียมไว้ใน Google Sheets

ขั้นตอนที่ 1: เตรียมข้อมูลใน Google Sheets

สิ่งแรกที่เราต้องทำคือการสร้างฐานข้อมูลสำหรับส่งอีเมลใน Google Sheets ซึ่งเปรียบเสมือนศูนย์บัญชาการของระบบเรา

  1. สร้างไฟล์ Google Sheets ใหม่
  2. ในชีตแรก ให้สร้างคอลัมน์ที่จำเป็นสำหรับข้อมูลการส่งอีเมล ตัวอย่างเช่น:
    • Name: ชื่อผู้รับ (สำหรับใช้ในเนื้อหาอีเมล)
    • EmailAddress: อีเมลของผู้รับ
    • Subject: หัวข้ออีเมล
    • Message: เนื้อหาอีเมล
    • SentStatus: สถานะการส่ง (คอลัมน์นี้สำคัญมาก เพื่อป้องกันการส่งซ้ำ)
  3. กรอกข้อมูลตัวอย่างลงไป 2-3 แถว ดังภาพ

ขั้นตอนที่ 2: เปิด Apps Script Editor

เมื่อข้อมูลพร้อมแล้ว ก็ถึงเวลาเข้าไปเขียนโค้ดคำสั่งกัน

  1. ในไฟล์ Google Sheets ที่เราสร้างไว้ ให้ไปที่เมนูด้านบน ส่วนขยาย (Extensions) > Apps Script
  2. ระบบจะเปิดแท็บใหม่ขึ้นมา เป็นหน้าต่างสำหรับเขียนโค้ด (Script Editor) โดยจะมีการสร้างไฟล์สคริปต์ชื่อ Code.gs และฟังก์ชันเริ่มต้น myFunction มาให้

ขั้นตอนที่ 3: เขียนโค้ดสำหรับส่งอีเมล

ตอนนี้เราจะเขียนโค้ดเพื่อสั่งให้ระบบอ่านข้อมูลจาก Google Sheets แล้วนำไปส่งอีเมลผ่าน Gmail ของเรา

  • ลบโค้ดเริ่มต้นในไฟล์ Code.gs ทั้งหมด
  • คัดลอกโค้ดทั้งหมดในไฟล์ emailSender.gs ที่ผมแนบให้ด้านล่าง ไปวางแทนที่

โค้ดนี้จะทำหน้าที่หลักๆ ดังนี้:

  • เชื่อมต่อกับไฟล์ Google Sheets ที่เราทำงานอยู่
  • อ่านข้อมูลทั้งหมดจากแถวที่ 2 เป็นต้นไป (เพื่อข้ามหัวตาราง)
  • วนลูปตรวจสอบทีละแถว
  • เช็กที่คอลัมน์ SentStatus ว่าถ้ายังว่างอยู่ (ยังไม่เคยส่ง) ให้ทำการส่งอีเมล
  • ใช้ข้อมูลจากแต่ละคอลัมน์ (อีเมล, หัวข้อ, เนื้อหา) เพื่อส่งอีเมลผ่าน MailApp
  • เมื่อส่งสำเร็จ จะอัปเดตสถานะในคอลัมน์ SentStatus เป็น “SENT”

ขั้นตอนที่ 4: สั่งรันสคริปต์และให้สิทธิ์การเข้าถึง

หลังจากวางโค้ดแล้ว เราต้องทดลองรันและอนุญาตให้สคริปต์ทำงานในนามบัญชีของเราก่อน

  1. บันทึกโปรเจกต์: คลิกที่ไอคอนรูปแผ่นดิสก์ (Save project)
  2. เลือกรันฟังก์ชัน: ที่แถบเมนูด้านบน ตรวจสอบให้แน่ใจว่าได้เลือกฟังก์ชัน sendEmails ไว้
  3. สั่งรัน (Run): คลิกที่ปุ่ม เรียกใช้ (Run)
  4. ให้สิทธิ์การเข้าถึง (Authorization Required):
    • การรันครั้งแรก ระบบจะขอสิทธิ์ในการเข้าถึงข้อมูล Google Sheets และส่งอีเมลผ่านบัญชีของคุณ
    • ให้คลิก ตรวจสอบสิทธิ์ (Review permissions)
    • เลือกบัญชี Google ของคุณ
    • อาจมีหน้าต่างแจ้งว่า “Google hasn’t verified this app” ไม่ต้องตกใจ ให้คลิกที่ ขั้นสูง (Advanced) > ไปที่ ... (ไม่ปลอดภัย) (Go to ... (unsafe))
    • คลิก อนุญาต (Allow) เพื่อยืนยันการให้สิทธิ์

เมื่อรันสคริปต์เสร็จเรียบร้อยแล้ว ให้กลับไปดูที่ไฟล์ Google Sheets ของคุณ จะเห็นว่าคอลัมน์ SentStatus ถูกเติมคำว่า “SENT” และอีเมลตัวอย่างจะถูกส่งไปยังผู้รับที่คุณใส่ข้อมูลไว้

ขั้นตอนที่ 5: ตั้งเวลาให้สคริปต์ทำงานอัตโนมัติ (Triggers)

หัวใจของการทำงานอัตโนมัติอยู่ที่ขั้นตอนนี้ เราจะตั้งเวลาให้สคริปต์ sendEmails ทำงานเองตามเวลาที่กำหนด เช่น ทุกเช้าวันจันทร์

  1. ในหน้า Apps Script Editor ให้ไปที่เมนูด้านซ้าย แล้วคลิกที่ไอคอนรูปนาฬิกา ทริกเกอร์ (Triggers)
  2. คลิกที่ปุ่ม + เพิ่มทริกเกอร์ (+ Add Trigger) ที่มุมขวาล่าง
  3. ตั้งค่าทริกเกอร์ดังนี้:
    • Choose which function to run: เลือก sendEmails
    • Select event source: เลือก ตามเวลา (Time-driven)
    • Select type of time-based trigger: เลือกประเภทการตั้งเวลาที่ต้องการ เช่น ตัวจับเวลาแบบวัน (Day timer)
    • Select time of day: เลือ กช่วงเวลาที่ต้องการให้สคริปต์ทำงาน เช่น 8am - 9am
  4. คลิก บันทึก (Save)

เพียงเท่านี้ ระบบส่งอีเมลอัตโนมัติของคุณก็พร้อมทำงานแล้ว! ทุกๆ วันในช่วงเวลา 8-9 โมงเช้า สคริปต์จะทำงานเองโดยอัตโนมัติเพื่อตรวจสอบว่ามีรายชื่อใหม่ที่ต้องส่งอีเมลหรือไม่ หากมีก็จะจัดการส่งให้และอัปเดตสถานะทันที คุณเพียงแค่เข้ามาเพิ่มข้อมูลผู้รับที่ต้องการส่งในไฟล์ Google Sheets เท่านั้น

การปรับใช้เพิ่มเติม

  • ปรับแต่งเนื้อหาอีเมล: คุณสามารถทำให้เนื้อหาอีเมลเป็นแบบเฉพาะบุคคลได้โดยการเพิ่ม Placeholder เช่น สวัสดีคุณ {{Name}}, แล้วใช้คำสั่ง .replace("{{Name}}", name) ในโค้ดเพื่อแทนที่ชื่อของผู้รับแต่ละคน
  • สร้างเงื่อนไขการส่ง: สามารถเพิ่มเงื่อนไขอื่นๆ ได้ เช่น ส่งอีเมลเฉพาะแถวที่มีการทำเครื่องหมายในคอลัมน์ “Ready to Send” เท่านั้น

บทสรุป

Google Apps Script เป็นเครื่องมือที่ทรงพลังและใช้งานได้ฟรี ช่วยให้เราสร้างระบบอัตโนมัติต่างๆ เพื่อลดภาระงานที่ต้องทำซ้ำๆ ได้อย่างยอดเยี่ยม การสร้างระบบส่งอีเมลนี้เป็นเพียงหนึ่งในตัวอย่างความสามารถของมัน คุณสามารถนำหลักการนี้ไปประยุกต์ใช้กับการทำงานอื่นๆ ได้อีกมากมาย ลองนำไปใช้และปรับแต่งให้เข้ากับงานของคุณดูนะครับ!

Scroll to Top