יש שתי דרכים לשלוח אימייל באמצעות ממשק ה-API של Gmail:
- אפשר לשלוח אותו ישירות באמצעות ה-method
messages.send
. - אפשר לשלוח אותו מטיוטה באמצעות ה-method
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.
למידע נוסף על שליחת הודעות מטיוטה, ראו יצירת טיוטות.