
ที่มาภาพ: Unknown Source
วิธีสร้างระบบตอบกลับอีเมลอัตโนมัติโดยใช้ ChatGPT API กับ Google Apps Script บน Gmail อย่างปลอดภัย
⚡ สรุป 30 วิ
บทความนี้อธิบายวิธีสร้างระบบตอบกลับอีเมลอัตโนมัติบน Gmail โดยใช้ ChatGPT API ร่วมกับ Google Apps Script ทั้งขั้นตอนการตั้งค่าและแนวทางรักษาความปลอดภัย คุณจะได้เห็นโค้ดตัวอย่างและเคล็ดลับสำคัญเพื่อให้ร…
ภาพรวม — Overview
บทความนี้อธิบายวิธีสร้างระบบตอบกลับอีเมลอัตโนมัติบน Gmail โดยใช้ ChatGPT API ร่วมกับ Google Apps Script ทั้งขั้นตอนการตั้งค่าและแนวทางรักษาความปลอดภัย คุณจะได้เห็นโค้ดตัวอย่างและเคล็ดลับสำคัญเพื่อให้ระบบทำงานเสถียร
สิ่งที่ต้องเตรียม — Prerequisites
ก่อนเริ่มคุณต้องมีบัญชี Google Workspace หรือ Gmail ปกติ พร้อมสิทธิ์เข้าถึง Google Drive และ Apps Script นอกจากนี้ต้องสมัครใช้งาน OpenAI เพื่อรับ API‑Key ที่ใช้เรียก ChatGPT
- บัญชี Gmail / Workspace
- การเปิดใช้งาน Google Apps Script (ผ่าน Drive)
- API‑Key จาก OpenAI (ChatGPT API)
- ความเข้าใจพื้นฐาน JavaScript/Google Apps Script
**Tip: อย่าเก็บ API‑Key ไว้ในสคริปต์โดยตรง ใช้ “Properties Service” ของ Apps Script เพื่อจัดการข้อมูลลับ
ตั้งค่า OpenAI API — Configure ChatGPT API
ขั้นตอนแรกคือสร้างและตรวจสอบ API‑Key จาก OpenAI แล้วทำให้สคริปต์สามารถอ่านค่าได้อย่างปลอดภัย
- เข้าไปที่ https://platform.openai.com/account/api‑keys และสร้างคีย์ใหม่
- เปิด Google Apps Script แล้วเลือก File > Project properties > Script properties
- เพิ่ม key ชื่อ `OPENAI_API_KEY` พร้อมค่าที่ได้จาก OpenAI
- ตรวจสอบว่าค่าถูกเก็บเป็น “Plain text” ไม่เปิดเผยต่อผู้ใช้
**ข้อควรระวัง: หากแชร์สคริปต์ อย่าใส่คีย์ลงในไฟล์โค้ดโดยตรง เพราะจะทำให้ข้อมูลลับรั่วได้ง่าย
สร้างโปรเจกต์ Google Apps Script — Create Project
ต่อไปสร้างโปรเจกต์ใหม่เพื่อเชื่อมต่อกับ Gmail และเรียก ChatGPT
- เปิด https://script.google.com/ แล้วคลิก “New project”
- ตั้งชื่อโปรเจกต์ เช่น *AutoReply‑ChatGPT*
- สร้างไฟล์ `Code.gs` (หรือใช้ไฟล์หลัก) เพื่อเขียนโค้ด
เขียนฟังก์ชันเรียก ChatGPT — Call ChatGPT
โค้ดต่อไปนี้เป็นตัวอย่างการส่งข้อความอีเมลเข้าไปยังโมเดลและรับผลตอบกลับ
```javascript function getChatGptResponse(prompt) { const apiKey = PropertiesService.getScriptProperties().getProperty('OPENAI_API_KEY'); const url = 'https://api.openai.com/v1/chat/completions';
const payload = { model: 'gpt-3.5-turbo', messages: [{ role: 'user', content: prompt }], temperature: 0.7 };
const options = { method: 'post', contentType: 'application/json', headers: { Authorization: `Bearer ${apiKey}` }, payload: JSON.stringify(payload), muteHttpExceptions: true };
const response = UrlFetchApp.fetch(url, options); const json = JSON.parse(response.getContentText()); return json.choices[0].message.content.trim(); } ```
- ใช้ `PropertiesService` ดึงคีย์จากสคริปต์พรอพเพอร์ตี้
- ตั้งค่า `payload` ให้ตรงกับข้อกำหนดของ ChatGPT API
- ตรวจสอบผลลัพธ์และคืนข้อความที่ต้องการเป็นคำตอบ
สร้างฟังก์ชันตอบกลับอีเมล — Auto‑Reply
ต่อจากนั้นให้เขียนฟังก์ชันตรวจจับอีเมลใหม่แล้วส่งข้อความตอบโดยใช้ผลลัพธ์จาก `getChatGptResponse`
```javascript function autoReply() { const threads = GmailApp.search('is:unread newer_than:1d'); threads.forEach(thread => { const message = thread.getMessages()[0]; const prompt = `คุณเป็นผู้ช่วยตอบอีเมลอย่างมืออาชีพ:\n\n${message.getPlainBody()}`; const replyText = getChatGptResponse(prompt);
// ส่งตอบกลับ message.reply(replyText, { subject: 'Re: ' + message.getSubject(), htmlBody: `<p>${replyText}</p>` });
// ทำเครื่องหมายว่าอ่านแล้ว thread.markRead(); }); } ```
- ค้นหาอีเมลที่ยังไม่อ่านภายใน 1 วัน (`newer_than:1d`)
- สร้าง `prompt` ที่บรรยายบทบาทของ AI เพื่อให้ผลตอบกลับสอดคล้องกับโทนธุรกิจ
- ใช้ `message.reply()` ส่งข้อความโดยกำหนดหัวข้อและรูปแบบ HTML
ตั้งค่า Trigger ให้ทำงานอัตโนมัติ — Deploy Trigger
เพื่อให้ระบบทำงานต่อเนื่อง เราตั้งเวลาเรียกฟังก์ชัน `autoReply` ทุก 5 นาที
- เปิดเมนู Edit > Current project's triggers
- คลิก “Add Trigger” เลือกฟังก์ชัน `autoReply`
- ตั้งให้รันแบบ “Time‑driven”, ระยะเวลา “Every 5 minutes”
- บันทึกและยืนยันการอนุญาตที่ระบบขอ
**Tip: หากต้องการลดจำนวนเรียก API ให้ตั้งค่าเงื่อนไขกรองเพิ่มเติม เช่น คำสำคัญในหัวเรื่องหรือผู้ส่งที่อยู่ใน whitelist
การรักษาความปลอดภัยของข้อมูล — Security
แม้จะใช้ `PropertiesService` แล้วก็ยังควรตรวจสอบหลายจุดเพื่อป้องกันการละเมิด
| ด้าน | วิธีทำ |
|---|---|
| คีย์ API | เก็บใน Script Properties หรือ User Properties เท่านั้น ไม่เปิดเผยบน GitHub |
| การเข้าถึงสคริปต์ | จำกัดสิทธิ์ให้เฉพาะบัญชีผู้ดูแล (Owner) และใช้ “Share settings” ให้เป็น “Only you” |
| ล็อกการทำงาน | ใช้ `Logger.log()` บันทึกสถานะสำคัญโดยไม่เก็บข้อความลับลงในล็อกสาธารณะ |
| การตรวจสอบข้อผิดพลาด | ตรวจจับ HTTP status != 200 แล้วส่งอีเมลแจ้งแอดมินทันที |
ทดสอบและแก้ไขปัญหา — Testing
เมื่อทุกอย่างตั้งค่าแล้วให้ทำการทดสอบโดยส่งอีเมลจากบัญชีอื่นมาเป็นตัวอย่าง
- ตรวจดูว่าอีเมลใหม่ถูกอ่านและตอบกลับภายในไม่กี่วินาที
- ถ้าไม่มีการตอบ ให้เปิด `View > Logs` เพื่อตรวจสอบข้อความ error จาก API หรือ GmailApp
- หากเจอ “429 Too Many Requests” ลดความถี่ของ Trigger หรือลดค่า `temperature` เพื่อให้โมเดลใช้ token น้อยลง
เคล็ดลับเพิ่มเติม — Tips
- ใช้ Prompt Engineering ปรับโทนและความยาวของคำตอบ เช่น เพิ่ม “สรุปใน 3 บรรทัด” > - หากต้องการรองรับหลายภาษา ให้เพิ่ม `language` ลงใน prompt หรือใช้โมเดลที่รองรับ Multilingual > - เก็บประวัติการสนทนาไว้ใน Google Sheet เพื่อทำ analytics ว่าคำตอบใดได้ผลดี
สรุป — Summary
บทความนี้สอนวิธีสร้างระบบตอบกลับอีเมลอัตโนมัติบน Gmail ด้วย ChatGPT API ผ่าน Google Apps Script ตั้งแต่การเตรียม API‑Key การเขียนโค้ดเรียกโมเดล ไปจนถึงการตั้ง Trigger และแนวทางรักษาความปลอดภัย
- เตรียมบัญชีและคีย์ ให้ครบถ้วนก่อนเริ่มงาน
- เก็บคีย์ใน Script Properties เพื่อป้องกันการรั่วไหล
- เขียนฟังก์ชันเรียก ChatGPT แล้วต่อกับ GmailApp เพื่อตอบอีเมล
- ตั้ง Trigger เวลา ให้ทำงานอัตโนมัติตามความต้องการ
- ตรวจสอบและปรับแต่ง เพื่อให้ระบบเสถียรและปลอดภัย
สิ่งที่ควรจำ: เก็บคีย์อย่างปลอดภัย, กรองอีเมลก่อนตอบ, และตรวจสอบ Log อย่างสม่ำเสมอเพื่อป้องกันข้อผิดพลาด.
แชร์บทความนี้:
ชอบบทความแบบนี้?
สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม
แหล่งข่าวต้นฉบับ
- ชื่อต้นฉบับ
- วิธีสร้างระบบตอบกลับอีเมลอัตโนมัติโดยใช้ ChatGPT API กับ Google Apps Script บน Gmail อย่างปลอดภัย
- ผู้เขียน
- กองบรรณาธิการ Thai Tech News
- แหล่ง
- บทความต้นฉบับ Thai Tech News · ช่วยร่างด้วย AI, เรียบเรียง/ตรวจสอบโดยกองบรรณาธิการ
- วันที่เผยแพร่
- 28 กรกฎาคม 2569 เวลา 19:51



