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