ระดับการเขียนโค้ด: ผู้เริ่มต้น
ระยะเวลา: 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 เช่น อีโมจิ ในอีเมล คุณต้องอัปเดตโค้ดให้ใช้บริการอีเมลแทนบริการ 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
- ติดตาม Martin ได้ที่ @mhawksey บน Twitter
- อ่านบล็อกโพสต์ที่เกี่ยวข้องกับ Google Apps Script ของ Martin
- ดูรายการ Totally Unscripted ของ Martin บน YouTube
ตัวอย่างนี้ได้รับการดูแลโดย Google โดยได้รับความช่วยเหลือจาก Google Developer Expert