เอกสารนี้อธิบายวิธีสร้างและส่งข้อความอีเมลโดยใช้ Gmail API
คุณส่งอีเมลโดยใช้ Gmail API ได้ 2 วิธี ดังนี้
- คุณส่งได้โดยตรงโดยใช้เมธอด
messages.send - คุณส่งได้จากฉบับร่างโดยใช้เมธอด
drafts.sendดูข้อมูลเพิ่มเติมเกี่ยวกับการส่งข้อความฉบับร่างได้ที่ส่งฉบับร่าง
ระบบจะส่งข้อความ Gmail เป็นสตริงที่เข้ารหัส base64URL ภายในฟิลด์
raw
ของทรัพยากร messages
วิธีส่งข้อความอีเมล
- สร้างเนื้อหาอีเมลและเข้ารหัสเป็นสตริง base64URL
- สร้างทรัพยากรข้อความใหม่และตั้งค่าพร็อพเพอร์ตี้
rawเป็นสตริง base64URL ที่คุณเพิ่งสร้าง - เรียกใช้เมธอด
messages.sendหรือหากส่งฉบับร่าง ให้เรียกใช้เมธอดdrafts.sendเพื่อส่งข้อความ
รายละเอียดของเวิร์กโฟลว์นี้อาจแตกต่างกันไปตามตัวเลือกของไลบรารีไคลเอ็นต์ และภาษาโปรแกรม
สร้างข้อความ
Gmail API กำหนดให้ข้อความอีเมล MIME ต้องเป็นไปตาม RFC 2822 และเข้ารหัสเป็นสตริง base64URL ภาษาโปรแกรมหลายภาษามีไลบรารีหรือยูทิลิตีที่ช่วยลดความซับซ้อน ของกระบวนการสร้างและเข้ารหัสข้อความ MIME
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างข้อความ MIME โดยใช้ไลบรารีของไคลเอ็นต์ Google API สำหรับภาษาต่างๆ
Java
การสร้างข้อความอีเมลสามารถทำได้ง่ายขึ้นด้วยคลาส MimeMessage ในแพ็กเกจ javax.mail.internet ตัวอย่างโค้ดต่อไปนี้แสดงวิธี
สร้างข้อความอีเมล รวมถึงส่วนหัว
จากนั้นเข้ารหัส MimeMessage สร้างออบเจ็กต์ messages และตั้งค่าสตริงข้อความที่เข้ารหัส base64URL เป็นค่าของพร็อพเพอร์ตี้ raw
Python
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างข้อความ MIME เข้ารหัสเป็นสตริง base64URL และกำหนดให้กับฟิลด์ raw ของทรัพยากร messages
cURL
curl --request POST \
'https://gmail.googleapis.com/gmail/v1/users/me/drafts' \
--header 'Authorization: Bearer ACCESS_TOKEN' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"message":{"raw":"MESSAGE"}}'
แทนที่ค่าต่อไปนี้
ACCESS_TOKEN: โทเค็นการเข้าถึงที่ให้สิทธิ์เข้าถึง APIMESSAGE: ข้อความ MIME ที่จัดรูปแบบ RFC 2822 ซึ่งเข้ารหัส เป็น base64URL
สร้างข้อความที่มีไฟล์แนบ
การสร้างข้อความที่มีไฟล์แนบจะเหมือนกับการสร้างข้อความอื่นๆ แต่ กระบวนการอัปโหลดไฟล์เป็นข้อความ MIME แบบหลายส่วนจะขึ้นอยู่กับ ภาษาโปรแกรม
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีที่เป็นไปได้ในการสร้างข้อความ MIME แบบหลายส่วน ที่มีไฟล์แนบ
Java
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างข้อความ MIME แบบหลายส่วน ขั้นตอนการเข้ารหัสและการกำหนดจะเหมือนกับสร้าง ข้อความ
Python
ตัวอย่างนี้จะคล้ายกับตัวอย่างสร้างข้อความ โดยจะจัดการการเข้ารหัสข้อความเป็น base64URL และกำหนดให้กับฟิลด์ raw
ของทรัพยากร messages ด้วย
cURL
curl --request POST \
'https://gmail.googleapis.com/gmail/v1/users/me/drafts' \
--header 'Authorization: Bearer ACCESS_TOKEN' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"message":{"raw":"MESSAGE"}}'
แทนที่ค่าต่อไปนี้
ACCESS_TOKEN: โทเค็นการเข้าถึงที่ให้สิทธิ์เข้าถึง APIMESSAGE: ข้อความ MIME ที่จัดรูปแบบ RFC 2822 ซึ่งมีไฟล์แนบที่เข้ารหัสเป็น base64URL
ส่งข้อความ
เมื่อสร้างข้อความแล้ว คุณจะส่งข้อความได้โดยระบุข้อความในเนื้อหาคำขอของเมธอด messages.send ดังตัวอย่างต่อไปนี้
Java
Python
cURL
curl --request POST \
'https://gmail.googleapis.com/gmail/v1/users/me/messages/send' \
--header 'Authorization: Bearer ACCESS_TOKEN' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"raw":"MESSAGE"}'
แทนที่ค่าต่อไปนี้
ACCESS_TOKEN: โทเค็นการเข้าถึงที่ให้สิทธิ์เข้าถึง APIMESSAGE: ข้อความ MIME ที่จัดรูปแบบ RFC 2822 ซึ่งเข้ารหัส เป็น base64URL
หากคุณพยายามส่งการตอบกลับและต้องการจัดกลุ่มอีเมลเป็นชุดข้อความ โปรดตรวจสอบว่า
- ส่วนหัว
Subjectตรงกัน - ส่วนหัว
ReferencesและIn-Reply-Toเป็นไปตามมาตรฐาน RFC 2822