การส่งอีเมลโดยใช้ 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
ดูข้อมูลเกี่ยวกับการส่งข้อความจากฉบับร่างได้ที่หัวข้อการสร้างฉบับร่าง