ระดับการเขียนโค้ด: เริ่มต้น
ระยะเวลา: 10 นาที
ประเภทโปรเจ็กต์: การทำงานอัตโนมัติที่มีเมนูที่กำหนดเอง
หากต้องการดูวิดีโอ
ช่องนักพัฒนาซอฟต์แวร์ Google Workspace มีวิดีโอเกี่ยวกับเคล็ดลับ กลเม็ด และฟีเจอร์ล่าสุด
|
วัตถุประสงค์
- ทําความเข้าใจว่าโซลูชันทํางานอย่างไร
- ทําความเข้าใจสิ่งที่บริการ Apps Script ทําภายในโซลูชัน
- ตั้งค่าสคริปต์
- เรียกใช้สคริปต์
เกี่ยวกับโซลูชันนี้
ป้อนข้อมูลเทมเพลตอีเมลจาก Google ชีตโดยอัตโนมัติ ระบบจะส่งอีเมลจากบัญชี Gmail ของคุณเพื่อให้คุณตอบกลับอีเมลตอบกลับของผู้รับได้
สำคัญ: ตัวอย่างการผสานอีเมลนี้อยู่ภายใต้ขีดจำกัดอีเมลที่อธิบายไว้ในโควต้าสำหรับบริการของ Google
วิธีการทำงาน
คุณสร้างเทมเพลตฉบับร่าง Gmail ที่มีตัวยึดตําแหน่งซึ่งสอดคล้องกับข้อมูลในสเปรดชีตชีต ส่วนหัวของคอลัมน์แต่ละคอลัมน์ในชีตแสดงแท็กตัวยึดตำแหน่ง สคริปต์จะส่งข้อมูลสำหรับตัวยึดตําแหน่งแต่ละรายการจากสเปรดชีตไปยังตําแหน่งของแท็กตัวยึดตําแหน่งที่เกี่ยวข้องในอีเมลฉบับร่าง
บริการ Apps Script
โซลูชันนี้ใช้บริการต่อไปนี้
- บริการ Gmail - รับ อ่าน และส่งอีเมลฉบับร่างที่คุณต้องการส่งไปยังผู้รับ
- หากอีเมลมีอักขระ Unicode เช่น อีโมจิ ให้ใช้บริการอีเมลแทน ดูวิธีอัปเดตโค้ดเพื่อใส่อักขระ Unicode ในอีเมล
- บริการสเปรดชีต - กรอกข้อมูลในช่องวางอีเมลด้วยข้อมูลที่ปรับเปลี่ยนในแบบของคุณสำหรับผู้รับแต่ละราย
ข้อกำหนดเบื้องต้น
หากต้องการใช้ตัวอย่างนี้ คุณต้องมีข้อกําหนดเบื้องต้นต่อไปนี้
- บัญชี Google (บัญชี Google Workspace อาจต้องได้รับอนุมัติจากผู้ดูแลระบบ)
- เว็บเบราว์เซอร์ที่มีการเข้าถึงอินเทอร์เน็ต
ตั้งค่าสคริปต์
สร้างโปรเจ็กต์ Apps Script
- คลิกปุ่มต่อไปนี้เพื่อทำสำเนาของสเปรดชีตตัวอย่างการผสานอีเมลของ Gmail/ชีต
โปรเจ็กต์ Apps Script สำหรับโซลูชันนี้แนบอยู่กับสเปรดชีต
ทำสำเนา - ในสเปรดชีตที่คัดลอก ให้อัปเดตคอลัมน์ผู้รับด้วยอีเมลที่ต้องการใช้ในการผสานอีเมล
- (ไม่บังคับ) เพิ่ม แก้ไข หรือนำคอลัมน์ออกเพื่อปรับแต่งข้อมูลที่คุณต้องการรวมไว้ในเทมเพลตอีเมล
หากเปลี่ยนชื่อคอลัมน์ผู้รับหรืออีเมลที่ส่ง คุณต้องอัปเดตโค้ดที่เกี่ยวข้องในโปรเจ็กต์ Apps Script คุณเปิดโปรเจ็กต์ Apps Script จากสเปรดชีตได้โดยคลิกส่วนเสริม > Apps Script
สร้างเทมเพลตอีเมล
- สร้างอีเมลฉบับร่างในบัญชี Gmail หากต้องการใส่ข้อมูลจากสเปรดชีตในอีเมล ให้ใช้ตัวยึดตําแหน่งที่สอดคล้องกับชื่อคอลัมน์โดยล้อมรอบด้วยวงเล็บปีกกา เช่น
{{First name}}
- หากคุณจัดรูปแบบข้อความในอีเมล คุณต้องจัดรูปแบบตัวยึดตำแหน่งและวงเล็บด้วย
- ตัวยึดตําแหน่งจะคํานึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ และต้องตรงกับส่วนหัวของคอลัมน์ทุกประการ
- คัดลอกบรรทัดเรื่องของอีเมลฉบับร่าง
เรียกใช้สคริปต์
- ในสเปรดชีต ให้คลิกการผสานอีเมล > ส่งอีเมล คุณอาจต้องรีเฟรชหน้าเว็บเพื่อให้เมนูที่กำหนดเองนี้ปรากฏขึ้น
ให้สิทธิ์สคริปต์เมื่อได้รับข้อความแจ้ง หากหน้าจอความยินยอมของ OAuth แสดงคำเตือนว่าแอปนี้ไม่ได้รับการยืนยัน ให้ดำเนินการต่อโดยเลือกขั้นสูง > ไปที่ {ชื่อโปรเจ็กต์} (ไม่ปลอดภัย)
คลิกการผสานอีเมล > ส่งอีเมลอีกครั้ง
วางบรรทัดเรื่องของเทมเพลตอีเมล แล้วคลิกตกลง
หากคุณใช้ตัวกรองกับชีต สคริปต์จะยังคงส่งอีเมลถึงผู้เข้าร่วมที่กรองไว้ แต่จะไม่มีการประทับเวลา
ตรวจสอบโค้ด
หากต้องการตรวจสอบโค้ด Apps Script ของโซลูชันนี้ ให้คลิกดูซอร์สโค้ดด้านล่าง
ดูซอร์สโค้ด
Code.gs
การปรับเปลี่ยน
คุณสามารถแก้ไขการผสานอีเมลอัตโนมัติได้มากเท่าที่ต้องการเพื่อให้เหมาะกับความต้องการของคุณ ด้านล่างนี้คือการเปลี่ยนแปลงที่ไม่บังคับบางอย่างที่คุณทำกับซอร์สโค้ดได้
เพิ่มพารามิเตอร์อีเมลสำเนาลับ สําเนา ตอบกลับ หรือจาก
โค้ดตัวอย่างมีพารามิเตอร์เพิ่มเติมจํานวนหนึ่ง ซึ่งตอนนี้มีการใส่ความคิดเห็นไว้ เพื่อช่วยให้คุณควบคุมชื่อบัญชีที่ส่งอีเมล อีเมลตอบกลับ รวมถึงอีเมลสําเนาลับและสำเนา
เปิดใช้งานพารามิเตอร์ที่ต้องการเพิ่มโดยนําเครื่องหมายทับ //
ที่อยู่หน้าพารามิเตอร์แต่ละรายการออก
ตัวอย่างต่อไปนี้แสดงข้อความที่ตัดตอนมาจากฟังก์ชัน sendEmails
ที่เปิดใช้งานพารามิเตอร์อีเมลส่วนใหญ่
GmailApp.sendEmail(row[RECIPIENT_COL], msgObj.subject, msgObj.text, { htmlBody: msgObj.html, bcc: 'bcc@example.com', cc: 'cc@example.com', from: 'from.alias@example.com', name: 'name of the sender', replyTo: 'reply@example.com', // noReply: true, // if the email should be sent from a generic no-reply email address (not available to gmail.com users)
ในตัวอย่างข้างต้น พารามิเตอร์ noReply
ยังคงมีการแสดงความคิดเห็นอยู่เนื่องจากมีการตั้งค่าพารามิเตอร์ replyTo
ใส่อักขระ Unicode ในอีเมล
หากต้องการใส่อักขระ Unicode เช่น อีโมจิ ในอีเมล คุณต้องอัปเดตโค้ดเพื่อใช้บริการ Mail แทนบริการ Gmail
ในโค้ดตัวอย่าง ให้อัปเดตบรรทัดต่อไปนี้
GmailApp.sendEmail(row[RECIPIENT_COL], msgObj.subject, msgObj.text, {
แทนที่บรรทัดนั้นด้วยโค้ดต่อไปนี้
MailApp.sendEmail(row[RECIPIENT_COL], msgObj.subject, msgObj.text, {
ผู้ร่วมให้ข้อมูล
ตัวอย่างนี้จัดทำโดย Martin Hawksey ซึ่งเป็นหัวหน้าฝ่ายการออกแบบและเทคโนโลยีการเรียนรู้ที่ Edinburgh Futures Institute, บล็อกเกอร์ และ Google Developer Expert
- ติดตาม Martin บน Twitter ได้ที่ @mhawksey
- อ่านบล็อกโพสต์เกี่ยวกับ Google Apps Script ของ Martin
- ดูรายการ YouTube ของ Martin ชื่อ Totally Unscripted
ตัวอย่างนี้ได้รับการดูแลโดย Google ด้วยความช่วยเหลือจากผู้เชี่ยวชาญด้านการพัฒนาซอฟต์แวร์ของ Google