ในยุคดิจิทัล การสื่อสารผ่านอีเมลยังคงเป็นเครื่องมือที่สำคัญอย่างยิ่ง ไม่ว่าจะเป็นการส่งข่าวสารการตลาด, การแจ้งเตือนลูกค้า, หรือการส่งรายงานภายในองค์กร แต่การต้องมานั่งส่งอีเมลทีละฉบับหรือส่งเป็นประจำทุกวันอาจเป็นเรื่องที่เสียเวลาและเสี่ยงต่อความผิดพลาดได้ง่าย บทความนี้จะมาแนะนำวิธีสร้าง “ระบบส่งอีเมลอัตโนมัติ” แบบง่ายๆ แต่ทรงพลัง โดยใช้เครื่องมือฟรีที่คุณคุ้นเคยอย่าง Google Sheets ร่วมกับ Google Apps Script โดยไม่จำเป็นต้องมีความรู้ด้านการเขียนโปรแกรมมาก่อน
Google Apps Script คืออะไร?
Google Apps Script คือ แพลตฟอร์มการเขียนสคริปต์บนคลาวด์ของ Google ที่ช่วยให้เราสามารถสร้างฟังก์ชันการทำงานเพิ่มเติมและเชื่อมต่อบริการต่างๆ ของ Google เข้าด้วยกันได้ เช่น Sheets, Docs, Forms, Gmail และ Calendar พูดง่ายๆ ก็คือเป็นเครื่องมือที่ช่วยสั่งให้แอปของ Google ทำงานตามที่เราต้องการได้โดยอัตโนมัตินั่นเอง
สิ่งที่ต้องเตรียม
- บัญชี Google (Gmail)
- ข้อมูลที่ต้องการส่ง ซึ่งจะเตรียมไว้ใน Google Sheets
ขั้นตอนที่ 1: เตรียมข้อมูลใน Google Sheets
สิ่งแรกที่เราต้องทำคือการสร้างฐานข้อมูลสำหรับส่งอีเมลใน Google Sheets ซึ่งเปรียบเสมือนศูนย์บัญชาการของระบบเรา
- สร้างไฟล์ Google Sheets ใหม่
- ในชีตแรก ให้สร้างคอลัมน์ที่จำเป็นสำหรับข้อมูลการส่งอีเมล ตัวอย่างเช่น:
Name: ชื่อผู้รับ (สำหรับใช้ในเนื้อหาอีเมล)EmailAddress: อีเมลของผู้รับSubject: หัวข้ออีเมลMessage: เนื้อหาอีเมลSentStatus: สถานะการส่ง (คอลัมน์นี้สำคัญมาก เพื่อป้องกันการส่งซ้ำ)
- กรอกข้อมูลตัวอย่างลงไป 2-3 แถว ดังภาพ
ขั้นตอนที่ 2: เปิด Apps Script Editor
เมื่อข้อมูลพร้อมแล้ว ก็ถึงเวลาเข้าไปเขียนโค้ดคำสั่งกัน
- ในไฟล์ Google Sheets ที่เราสร้างไว้ ให้ไปที่เมนูด้านบน
ส่วนขยาย (Extensions)>Apps Script - ระบบจะเปิดแท็บใหม่ขึ้นมา เป็นหน้าต่างสำหรับเขียนโค้ด (Script Editor) โดยจะมีการสร้างไฟล์สคริปต์ชื่อ
Code.gsและฟังก์ชันเริ่มต้นmyFunctionมาให้
ขั้นตอนที่ 3: เขียนโค้ดสำหรับส่งอีเมล
ตอนนี้เราจะเขียนโค้ดเพื่อสั่งให้ระบบอ่านข้อมูลจาก Google Sheets แล้วนำไปส่งอีเมลผ่าน Gmail ของเรา
- ลบโค้ดเริ่มต้นในไฟล์
Code.gsทั้งหมด - คัดลอกโค้ดทั้งหมดในไฟล์
emailSender.gsที่ผมแนบให้ด้านล่าง ไปวางแทนที่
โค้ดนี้จะทำหน้าที่หลักๆ ดังนี้:
- เชื่อมต่อกับไฟล์ Google Sheets ที่เราทำงานอยู่
- อ่านข้อมูลทั้งหมดจากแถวที่ 2 เป็นต้นไป (เพื่อข้ามหัวตาราง)
- วนลูปตรวจสอบทีละแถว
- เช็กที่คอลัมน์
SentStatusว่าถ้ายังว่างอยู่ (ยังไม่เคยส่ง) ให้ทำการส่งอีเมล - ใช้ข้อมูลจากแต่ละคอลัมน์ (อีเมล, หัวข้อ, เนื้อหา) เพื่อส่งอีเมลผ่าน
MailApp - เมื่อส่งสำเร็จ จะอัปเดตสถานะในคอลัมน์
SentStatusเป็น “SENT”
ขั้นตอนที่ 4: สั่งรันสคริปต์และให้สิทธิ์การเข้าถึง
หลังจากวางโค้ดแล้ว เราต้องทดลองรันและอนุญาตให้สคริปต์ทำงานในนามบัญชีของเราก่อน
- บันทึกโปรเจกต์: คลิกที่ไอคอนรูปแผ่นดิสก์ (Save project)
- เลือกรันฟังก์ชัน: ที่แถบเมนูด้านบน ตรวจสอบให้แน่ใจว่าได้เลือกฟังก์ชัน
sendEmailsไว้ - สั่งรัน (Run): คลิกที่ปุ่ม
เรียกใช้ (Run) - ให้สิทธิ์การเข้าถึง (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 ทำงานเองตามเวลาที่กำหนด เช่น ทุกเช้าวันจันทร์
- ในหน้า Apps Script Editor ให้ไปที่เมนูด้านซ้าย แล้วคลิกที่ไอคอนรูปนาฬิกา
ทริกเกอร์ (Triggers) - คลิกที่ปุ่ม
+ เพิ่มทริกเกอร์ (+ Add Trigger)ที่มุมขวาล่าง - ตั้งค่าทริกเกอร์ดังนี้:
- 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
- Choose which function to run: เลือก
- คลิก
บันทึก (Save)
เพียงเท่านี้ ระบบส่งอีเมลอัตโนมัติของคุณก็พร้อมทำงานแล้ว! ทุกๆ วันในช่วงเวลา 8-9 โมงเช้า สคริปต์จะทำงานเองโดยอัตโนมัติเพื่อตรวจสอบว่ามีรายชื่อใหม่ที่ต้องส่งอีเมลหรือไม่ หากมีก็จะจัดการส่งให้และอัปเดตสถานะทันที คุณเพียงแค่เข้ามาเพิ่มข้อมูลผู้รับที่ต้องการส่งในไฟล์ Google Sheets เท่านั้น
การปรับใช้เพิ่มเติม
- ปรับแต่งเนื้อหาอีเมล: คุณสามารถทำให้เนื้อหาอีเมลเป็นแบบเฉพาะบุคคลได้โดยการเพิ่ม Placeholder เช่น
สวัสดีคุณ {{Name}},แล้วใช้คำสั่ง.replace("{{Name}}", name)ในโค้ดเพื่อแทนที่ชื่อของผู้รับแต่ละคน - สร้างเงื่อนไขการส่ง: สามารถเพิ่มเงื่อนไขอื่นๆ ได้ เช่น ส่งอีเมลเฉพาะแถวที่มีการทำเครื่องหมายในคอลัมน์ “Ready to Send” เท่านั้น
บทสรุป
Google Apps Script เป็นเครื่องมือที่ทรงพลังและใช้งานได้ฟรี ช่วยให้เราสร้างระบบอัตโนมัติต่างๆ เพื่อลดภาระงานที่ต้องทำซ้ำๆ ได้อย่างยอดเยี่ยม การสร้างระบบส่งอีเมลนี้เป็นเพียงหนึ่งในตัวอย่างความสามารถของมัน คุณสามารถนำหลักการนี้ไปประยุกต์ใช้กับการทำงานอื่นๆ ได้อีกมากมาย ลองนำไปใช้และปรับแต่งให้เข้ากับงานของคุณดูนะครับ!



