יש שתי דרכים לשלוח אימייל באמצעות Gmail API:
- אפשר לשלוח אותו ישירות באמצעות השיטה
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.
מידע על שליחת הודעה מטיוטה זמין במאמר יצירת טיוטות.