คุณส่งอีเมลโดยใช้ Gmail API ได้ 2 วิธี ดังนี้
- คุณส่งได้โดยตรงโดยใช้เมธอด
messages.send
- คุณส่งได้จากฉบับร่างโดยใช้วิธี
drafts.send
ระบบจะส่งอีเมลเป็นสตริงที่เข้ารหัส base64url ภายในพร็อพเพอร์ตี้ raw
ของแหล่งข้อมูลข้อความ ขั้นตอนการทำงานระดับสูง
ในการส่งอีเมลมีดังนี้
- สร้างเนื้อหาอีเมลด้วยวิธีที่สะดวกและเข้ารหัสเป็นสตริง base64url
- สร้างทรัพยากรข้อความใหม่และตั้งค่าพร็อพเพอร์ตี้
raw
เป็นสตริง base64url ที่คุณเพิ่งสร้าง - โทร
messages.send
หรือหากส่งฉบับร่าง ให้โทรdrafts.send
เพื่อส่งข้อความ
รายละเอียดของเวิร์กโฟลว์นี้อาจแตกต่างกันไปตามตัวเลือกไคลเอ็นต์ ไลบรารีและภาษาโปรแกรม
การสร้างข้อความ
Gmail API กำหนดให้ข้อความอีเมล MIME ต้องเป็นไปตามRFC 2822 และ เข้ารหัสเป็นสตริง base64url ภาษาโปรแกรมหลายภาษามีไลบรารีหรือยูทิลิตีที่ช่วยลดความซับซ้อนของกระบวนการสร้างและเข้ารหัสข้อความ MIME ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างข้อความ MIME โดยใช้ไลบรารีของไคลเอ็นต์ Google APIs สำหรับภาษาต่างๆ
Java
การสร้างข้อความอีเมลจะทำได้ง่ายขึ้นมากด้วยคลาส MimeMessage
ในแพ็กเกจ javax.mail.internet
ตัวอย่างต่อไปนี้แสดงวิธี
สร้างข้อความอีเมล รวมถึงส่วนหัว
ขั้นตอนถัดไปคือการเข้ารหัส MimeMessage
สร้างออบเจ็กต์ Message
และตั้งค่าสตริงข้อความที่เข้ารหัส base64url เป็นค่าของพร็อพเพอร์ตี้ raw
Python
ตัวอย่างโค้ดต่อไปนี้แสดงการสร้างข้อความ MIME การเข้ารหัสเป็นสตริง base64url และการกำหนดให้กับฟิลด์ raw
ของทรัพยากร Message
การสร้างข้อความที่มีไฟล์แนบ
การสร้างข้อความที่มีไฟล์แนบก็เหมือนกับการสร้างข้อความอื่นๆ แต่กระบวนการอัปโหลดไฟล์เป็นข้อความ MIME แบบหลายส่วน จะขึ้นอยู่กับภาษาโปรแกรม ตัวอย่างโค้ดต่อไปนี้แสดงวิธีที่เป็นไปได้ในการสร้างข้อความ MIME แบบหลายส่วนที่มีไฟล์แนบ
Java
ตัวอย่างต่อไปนี้แสดงวิธีสร้างข้อความ MIME แบบหลายส่วน โดยขั้นตอนการเข้ารหัสและการกำหนดจะเหมือนกับด้านบน
Python
ตัวอย่างนี้จะจัดการการเข้ารหัสข้อความเป็น base64url และกำหนดให้กับฟิลด์ raw
ของทรัพยากร Message
เช่นเดียวกับตัวอย่างก่อนหน้า
การส่งข้อความ
เมื่อสร้างข้อความแล้ว คุณจะส่งข้อความได้โดยระบุข้อความในส่วนเนื้อหาของคำขอในการเรียกใช้ messages.send
ดังตัวอย่างต่อไปนี้
Java
Python
หากคุณพยายามส่งการตอบกลับและต้องการให้ระบบจัดกลุ่มอีเมลเป็นชุดข้อความ โปรดตรวจสอบว่า
- ส่วนหัว
Subject
ตรงกัน - ส่วนหัว
References
และIn-Reply-To
เป็นไปตามมาตรฐาน RFC 2822
ดูข้อมูลเกี่ยวกับการส่งข้อความจากฉบับร่างได้ที่ การสร้างฉบับร่าง