מדריך הגדרת Resend למשלוח אימייל
מדריך זה מסביר כיצד להגדיר את Resend למשלוח אימיילים של הזמנת משתמשים.
דרישות קדם
- חשבון Resend (הרשמה בכתובת https://resend.com)
- דומיין או סאב-דומיין מאומת בחשבון Resend שלכם (למשל,
maintor.systems) - תבנית אימייל שפורסמה ב-Resend (למשל,
invitation-email-1)
שלב 1: קבלת מפתח ה-API של Resend
- התחברו לחשבון ה-Resend שלכם
- עברו ללשונית API Keys בתפריט הצדדי
- צרו מפתח API חדש והעתיקו אותו
שלב 2: יצירה ופרסום של תבנית אימייל
- ב-Resend, עברו אל Templates ← Create Template
- קראו לה בשם
invitation-email-1(או העתיקו את ה-ID של התבנית) - עצבו את תבנית הזמנת המשתמש והוסיפו את משתני התבנית הנדרשים:
{{{user_first_name}}}- השם הפרטי של המשתמש המוזמן{{{user_last_name}}}- שם המשפחה של המשתמש המוזמן{{{user_email}}}- כתובת האימייל של המשתמש המוזמן{{{invitation_link}}}- הקישור המלא להרשמה / קבלת ההזמנה{{{inviter_name}}}- שם השולח שהזמין את המשתמש{{{inviter_email}}}- אימייל השולח שהזמין את המשתמש{{{account_name}}}- שם החשבון אליו המשתמש מוזמן
שלב 3: אימות דומיין וכתובת שולח
- ב-Resend, עברו אל Domains
- הוסיפו את הדומיין/סאב-דומיין שלכם (למשל,
maintor.systems) והגדירו את רשומות ה-DNS הנדרשות אצל רשם הדומיינים שלכם - דומיין זה ישמש למשלוח אימיילים מכתובות כגון
hello@maintor.systems
שלב 4: הגדרת משתני סביבה
עבור Google Cloud Functions, תוכלו להגדיר משתני סביבה באמצעות התסריט המצורף או ידנית דרך ה-gcloud CLI.
אפשרות 1: שימוש בתסריט ההגדרה (מומלץ)
הריצו את תסריט ההגדרה האוטומטי:
./setup-resend-secrets.sh
תסריט זה יבצע:
- הגדרת כל משתני הסביבה של Resend
- שמירה על משתני סביבה קיימים מקובץ ה-
.envשלכם - פריסה מחדש של ה-Cloud Function עם המשתנים החדשים
אפשרות 2: הגדרה ידנית דרך gcloud CLI
עדכנו את ה-Cloud Function עם משתני הסביבה:
gcloud functions deploy maintor-api \
--runtime nodejs20 \
--trigger-http \
--allow-unauthenticated \
--source=. \
--entry-point=maintorApi \
--memory=512MB \
--timeout=300s \
--set-env-vars "RESEND_API_KEY=your-api-key,RESEND_INVITATION_TEMPLATE_ID=invitation-email-1,INVITATION_JWT_SECRET=your-jwt-secret,FRONTEND_URL=https://app.maintor.systems,RESEND_FROM_EMAIL=hello@maintor.systems,INVITATION_JWT_EXPIRY_DAYS=7" \
--region=us-central1 \
--project=maintor
הערה: ודאו שאתם כוללים את כל משתני הסביבה הקיימים שלכם (FIREBASE_PRIVATE_KEY, ACCESS_TOKEN_SECRET וכדומה) בפרמטר --set-env-vars, אחרת הם יוסרו.
שלב 5: בדיקת ההגדרה
-
צרו משתמש בדיקה דרך ה-API:
POST /v1/accounts/{accountId}/users{"firstName": "Test","lastName": "User","email": "test@example.com"} -
בדקו את תור ה-Cloud Tasks כדי לוודא שמשימת ההזמנה מעובדת
-
בדקו את תיבת הדואר הנכנס של המשתמש כדי לוודא שאימייל ההזמנה התקבל
-
ודאו שקישור ההזמנה עובד על ידי לחיצה עליו
סיכום משתני סביבה
| משתנה | נדרש | ברירת מחדל | תיאור |
|---|---|---|---|
RESEND_API_KEY | כן | - | מפתח ה-API של Resend |
RESEND_INVITATION_TEMPLATE_ID | כן | invitation-email-1 | מזהה/כינוי התבנית ב-Resend |
RESEND_FROM_EMAIL | לא | hello@maintor.systems | כתובת אימייל מאומתת של השולח |
FRONTEND_URL | לא | https://app.maintor.systems | כתובת ה-Frontend עבור קישורי הזמנה |
INVITATION_JWT_SECRET | כן | - | מפתח סודי לחתימת טוקני JWT |
INVITATION_JWT_EXPIRY_DAYS | לא | 7 | ימים עד לפקיעת תוקף ההזמנה |