תיעוד 215
שליחת הודעות דוא"ל עם Postmark
עודכן לאחרונה: 9 ביוני 2026
במדריך הזה תלמדו איך לשלוח הודעות דוא"ל טרנזקציוניות מ-Workers באמצעות Postmark. בסוף המדריך תוכלו:
- ליצור Worker לשליחת הודעות דוא"ל.
- להירשם ולהוסיף דומיין של Cloudflare ל-Postmark.
- לשלוח הודעות דוא"ל מה-Worker באמצעות Postmark.
- לאחסן מפתחות API בצורה מאובטחת עם secrets.
#דרישות מוקדמות
כדי להמשיך במדריך הזה, תצטרכו:
- חשבון Cloudflare, אם עדיין אין לכם חשבון.
- דומיין רשום.
- npm מותקן.
- חשבון Postmark.
#יצירת פרויקט Worker
התחילו בשימוש ב-C3 כדי ליצור פרויקט Worker בשורת הפקודה, ואז ענו על ההנחיות:
npm create cloudflare@latestאפשר גם להשתמש בארגומנטים של ה-CLI כדי לזרז את התהליך:
npm create cloudflare@latest email-with-postmark -- --type=hello-world --ts=false --git=true --deploy=falseכך נוצר Worker פשוט מסוג hello-world עם התוכן הבא:
export default {
async fetch(request, env, ctx) {
return new Response("Hello World!");
},
};#הוספת הדומיין ל-Postmark
- אם עדיין אין לכם חשבון Postmark, אפשר להירשם ל-חשבון חינמי כאן. אחרי ההרשמה, בדקו בתיבת הדואר הנכנס קישור לאישור חתימת השולח. האישור מאמת את הכתובת ומאפשר לשלוח הודעות דוא"ל מכתובת הדוא"ל הרשומה.
- כדי לאפשר שליחת דוא"ל מכתובות אחרות בדומיין, עברו אל
Sender Signaturesבלוח הבקרה של Postmark, בחרוAdd Domain or SignatureואזAdd Domain, הקלידו את הדומיין ולחצו עלVerify Domain. - בשלב הבא מוצגת רשימת רשומות DNS להוספה לדומיין ב-Cloudflare. בלוח הבקרה של Cloudflare בחרו את הדומיין שהזנתם קודם ועברו אל
DNSואזRecords. העתיקו והדביקו את רשומות ה-DNS (DKIMו-Return-Path) מ-Postmark אל הדומיין ב-Cloudflare.

הערה
אם אתם צריכים עזרה נוספת בהוספת רשומות DNS ב-Cloudflare, ראו ניהול רשומות DNS.
- כשזה מסתיים, חזרו ל-Postmark ולחצו על כפתורי
Verify. אם כל הרשומות מוגדרות כראוי, סטטוס הדומיין אמור להתעדכן ל-Verified.

- כדי לקבל את אסימון ה-API, עברו ללשונית
Servers, ואז אלMy First ServerואזAPI Tokens, והעתיקו את מפתח ה-API למקום בטוח.
#שליחת הודעות דוא"ל מה-Worker
השלב האחרון הוא לחבר את הכל ב-Worker. ב-Worker בצעו בקשת post באמצעות fetch אל ה-API של הדוא"ל של Postmark, וכללו את האסימון ואת גוף ההודעה:
הערה
ספריית JavaScript של Postmark אינה נתמכת כרגע ב-Workers. השתמשו ב-API של הדוא"ל במקום זאת.
export default {
async fetch(request, env, ctx) {
return await fetch("https://api.postmarkapp.com/email", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-Postmark-Server-Token": "your_postmark_api_token_here",
},
body: JSON.stringify({
From: "[email protected]",
To: "[email protected]",
Subject: "Hello World",
HtmlBody: "<p>Hello from Workers</p>",
}),
});
},
};כדי לבדוק את הקוד באופן מקומי, הריצו את הפקודה הבאה ועברו אל http://localhost:8787/ בדפדפן:
npm startפרסו את ה-Worker באמצעות npm run deploy.
#העברת אסימון ה-API אל Secrets
מידע רגיש כמו מפתחות API ואסימונים צריך תמיד להישמר ב-secrets. כל ה-secrets מוצפנים כדי להוסיף שכבת הגנה נוספת. לכן כדאי להעביר את אסימון ה-API אל secret ולגשת אליו מסביבת ה-Worker.
- כדי להוסיף secrets לפיתוח מקומי, צרו קובץ
.dev.varsשפועל בדיוק כמו קובץ.env:
POSTMARK_API_TOKEN=your_postmark_api_token_here- ודאו גם שה-secret נוסף ל-Worker שנפרס, באמצעות הרצה של הפקודה הבאה.
הוספת secret ל-Workers שנפרס:
npx wrangler secret put POSTMARK_API_TOKEN- אל ה-secret שנוסף אפשר לגשת דרך פרמטר
envשמועבר למטפל באירוע fetch של ה-Worker:
export default {
async fetch(request, env, ctx) {
return await fetch("https://api.postmarkapp.com/email", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-Postmark-Server-Token": env.POSTMARK_API_TOKEN,
},
body: JSON.stringify({
From: "[email protected]",
To: "[email protected]",
Subject: "Hello World",
HtmlBody: "<p>Hello from Workers</p>",
}),
});
},
};- ולבסוף, פרסו את העדכון הזה באמצעות
npm run deploy.