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