רמת הקוד: למתחילים
משך: 10 דקות
סוג הפרויקט: אוטומציה עם תפריט מותאם אישית
מעדיפים ללמוד באמצעות סרטון?
בערוץ Google Workspace Developers יש סרטונים עם טיפים, טריקים ותכונות חדשות.
|
מטרות
- להבין מה הפתרון עושה.
- הסבר על הפעולות של שירותי Apps Script בתוך הפתרון.
- מגדירים את הסקריפט.
- מריצים את הסקריפט.
מידע על הפתרון הזה
לאכלס תבנית אימייל באופן אוטומטי באמצעות נתונים מ-Google Sheets. האימיילים נשלחים מחשבון Gmail שלכם, כדי שתוכלו להשיב לתשובות של הנמענים.
חשוב: דוגמת המיזוג הזו כפופה למגבלות האימייל שמפורטות בקטע מכסות בשירותי Google.
איך זה עובד
יוצרים תבנית טיוטה ב-Gmail עם placeholders שתואמים לנתונים בגיליון אלקטרוני ב-Sheets. כל כותרת עמודה בגיליון מייצגת תג placeholder. הסקריפט שולח את המידע של כל placeholder מהגיליון האלקטרוני למיקום של תג ה-placeholder התואם בטיוטה של האימייל.
שירותי Apps Script
הפתרון הזה משתמש בשירותים הבאים:
- שירות Gmail – מקבל, קורא ושולח את טיוטת האימייל שרוצים לשלוח לנמענים.
- אם האימייל כולל תווים של Unicode כמו אמוג'י, צריך להשתמש במקום זאת בשירות האימייל. כך מעדכנים את הקוד כך שיכלול תווים של Unicode באימייל
- שירות של גיליון אלקטרוני – מילוי של placeholders של כתובות האימייל במידע המותאם אישית לכל אחד מהנמענים.
דרישות מוקדמות
כדי להשתמש בדוגמה הזו, צריך לעמוד בדרישות המוקדמות הבאות:
- חשבון Google (יכול להיות שחשבונות Google Workspace ידרשו אישור אדמין).
- דפדפן אינטרנט עם גישה לאינטרנט.
הגדרת הסקריפט
יצירת פרויקט Apps Script
- לוחצים על הלחצן הבא כדי ליצור עותק של גיליון האלקטרוני לדוגמה של מיזוג דואר ב-Gmail/Sheets.
פרויקט Apps Script של הפתרון הזה מצורף לגיליון האלקטרוני.
יצירת עותק - בגיליון האלקטרוני שהעתקתם, מעדכנים את העמודה נמענים בכתובות האימייל שבהן רוצים להשתמש במיזוג האימיילים.
- (אופציונלי) מוסיפים, עורכים או מסירים עמודות כדי להתאים אישית את הנתונים שרוצים לכלול בתבנית האימייל.
אם משנים את השם של העמודות Recipient או Email Sent, צריך לעדכן את הקוד התואם בפרויקט ב-Apps Script. כדי לפתוח את הפרויקט ב-Apps Script מהגיליון האלקטרוני, לוחצים על תוספים > Apps Script.
יצירת תבנית אימייל
- בחשבון Gmail, יוצרים טיוטה של הודעת אימייל. כדי לכלול את הנתונים מהגיליון האלקטרוני באימייל, צריך להשתמש בתוויות placeholders שתואמות לשמות העמודות, מוקפות בסוגריים מסולסלים, כמו
{{First name}}
.- אם מעצבים את הטקסט באימייל, צריך לעצב גם את סוגרי התו המשתנה.
- תוספי ה-placeholder הם תלויי אותיות רישיות, והם חייבים להתאים בדיוק לכותרות העמודות.
- מעתיקים את שורת הנושא של טיוטת האימייל.
מריצים את הסקריפט
- בגיליון האלקטרוני, לוחצים על מיזוג דואר > שליחת אימיילים. יכול להיות שתצטרכו לרענן את הדף כדי שהתפריט המותאם אישית יופיע.
כשמוצגת בקשה, מאשרים את הסקריפט. אם במסך ההסכמה ל-OAuth מוצגת האזהרה This app isn't verified, ממשיכים על ידי בחירה באפשרות Advanced > Go to {Project Name} (unsafe).
לוחצים שוב על מיזוג אימיילים > שליחת אימיילים.
מדביקים את שורת הנושא של תבנית האימייל ולוחצים על אישור.
אם החלתם מסנן על הגיליון, הסקריפט עדיין ישלח אימייל למשתתפים המסוננים, אבל לא יוסיף את חותמת הזמן.
בדיקת הקוד
כדי לבדוק את הקוד של Apps Script לפתרון הזה, לוחצים על הצגת קוד המקור בהמשך:
הצגת קוד המקור
Code.gs
שינויים
אתם יכולים לערוך את האוטומציה של מיזוג האימיילים לפי הצרכים שלכם. בהמשך מפורטים כמה שינויים אופציונליים שאפשר לבצע בקוד המקור.
הוספת פרמטרים של אימייל מסוג 'עותק מוסתר', 'עותק', 'דואר לתשובה' או 'מאת'
קוד הדוגמה כולל מספר פרמטרים נוספים, שכרגע מופיעים בתוך הערה, שמאפשרים לקבוע את שם החשבון שממנו נשלח האימייל, את כתובות האימייל של התשובות ואת כתובות האימייל של העותקים המוסתרים והעותקים.
כדי להפעיל את הפרמטרים שרוצים להוסיף, מסירים את הקווים המחופפים //
שמופיעים לפני כל אחד מהם.
בדוגמה הבאה מוצג קטע מהפונקציה sendEmails
שמפעילה את רוב הפרמטרים של האימייל:
GmailApp.sendEmail(row[RECIPIENT_COL], msgObj.subject, msgObj.text, { htmlBody: msgObj.html, bcc: 'bcc@example.com', cc: 'cc@example.com', from: 'from.alias@example.com', name: 'name of the sender', replyTo: 'reply@example.com', // noReply: true, // if the email should be sent from a generic no-reply email address (not available to gmail.com users)
בדוגמה שלמעלה, הפרמטר noReply
עדיין מופיע בתוך הערה כי הפרמטר replyTo
מוגדר.
הוספת תווי Unicode להודעות האימייל
אם רוצים לכלול אימוג'י או תווים אחרים של Unicode באימיילים, צריך לעדכן את הקוד כך שישתמש בשירות Mail במקום בשירות Gmail.
בקוד לדוגמה, מעדכנים את השורה הבאה:
GmailApp.sendEmail(row[RECIPIENT_COL], msgObj.subject, msgObj.text, {
מחליפים את השורה בקוד הבא:
MailApp.sendEmail(row[RECIPIENT_COL], msgObj.subject, msgObj.text, {
תורמים
הדוגמה נוצרה על ידי מרטין הוקסי (Martin Hawksey), מנהל טכנולוגיה ועיצוב למידה במכון Edinburgh Futures Institute, בלוגר ומומחה לפיתוח ב-Google.
- אפשר למצוא את מרטין ב-Twitter @mhawksey.
- פוסטים בבלוג של Martin בנושא Google Apps Script.
- צפייה בתוכנית של מרטין ב-YouTube, Totally Unscripted.
Google שומרת על הדוגמה הזו בעזרת מומחי הפיתוח של Google.