מדריך קלאודפלייר בעברית

תיעוד 215

שליחת הודעות דוא"ל עם Postmark

עודכן לאחרונה: 9 ביוני 2026

במדריך הזה תלמדו איך לשלוח הודעות דוא"ל טרנזקציוניות מ-Workers באמצעות Postmark. בסוף המדריך תוכלו:

  • ליצור Worker לשליחת הודעות דוא"ל.
  • להירשם ולהוסיף דומיין של Cloudflare ל-Postmark.
  • לשלוח הודעות דוא"ל מה-Worker באמצעות Postmark.
  • לאחסן מפתחות API בצורה מאובטחת עם secrets.

#דרישות מוקדמות

כדי להמשיך במדריך הזה, תצטרכו:

#יצירת פרויקט 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

  1. אם עדיין אין לכם חשבון Postmark, אפשר להירשם ל-חשבון חינמי כאן. אחרי ההרשמה, בדקו בתיבת הדואר הנכנס קישור לאישור חתימת השולח. האישור מאמת את הכתובת ומאפשר לשלוח הודעות דוא"ל מכתובת הדוא"ל הרשומה.
  2. כדי לאפשר שליחת דוא"ל מכתובות אחרות בדומיין, עברו אל Sender Signatures בלוח הבקרה של Postmark, בחרו Add Domain or Signature ואז Add Domain, הקלידו את הדומיין ולחצו על Verify Domain.
  3. בשלב הבא מוצגת רשימת רשומות DNS להוספה לדומיין ב-Cloudflare. בלוח הבקרה של Cloudflare בחרו את הדומיין שהזנתם קודם ועברו אל DNS ואז Records. העתיקו והדביקו את רשומות ה-DNS (DKIM ו-Return-Path) מ-Postmark אל הדומיין ב-Cloudflare.

תמונה של הוספת רשומות DNS לדומיין ב-Cloudflare

הערה

אם אתם צריכים עזרה נוספת בהוספת רשומות DNS ב-Cloudflare, ראו ניהול רשומות DNS.

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

תמונה של אימות דומיין בלוח הבקרה של Postmark

  1. כדי לקבל את אסימון ה-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.

  1. כדי להוסיף secrets לפיתוח מקומי, צרו קובץ .dev.vars שפועל בדיוק כמו קובץ .env:
POSTMARK_API_TOKEN=your_postmark_api_token_here
  1. ודאו גם שה-secret נוסף ל-Worker שנפרס, באמצעות הרצה של הפקודה הבאה.

הוספת secret ל-Workers שנפרס:

npx wrangler secret put POSTMARK_API_TOKEN
  1. אל ה-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>",
			}),
		});
	},
};
  1. ולבסוף, פרסו את העדכון הזה באמצעות npm run deploy.

#מקורות קשורים