Dokumentace Domluvit pilot

Odesílání e-mailů pomocí Postmark

V tomto tutoriálu se naučíte, jak z Workers odesílat transakční e-maily pomocí Postmark ↗. Na konci tohoto tutoriálu budete umět:

Předpoklady

Chcete-li pokračovat v tomto tutoriálu, budete potřebovat:

Vytvořte projekt Worker

Začněte pomocí C3 k vytvoření projektu Worker v příkazové řádce, poté odpovězte na výzvy:

npm create cloudflare@latest

Alternativně můžete použít argumenty CLI, abyste vše urychlili:

npm create cloudflare@latest email-with-postmark -- --type=hello-world --ts=false --git=true --deploy=false

Tím se vytvoří jednoduchý Worker hello world s následujícím obsahem:

export default {
	async fetch(request, env, ctx) {
		return new Response("Hello World!");
	},
};

Přidejte svou doménu do Postmarku

Pokud ještě nemáte účet Postmark, můžete si založit bezplatný účet zde ↗. Po registraci zkontrolujte doručenou poštu, zda nedorazil odkaz na potvrzení podpisu odesílatele. Tím se ověří a povolí odesílání e-mailů z vaší registrované e-mailové adresy.

Chcete-li povolit odesílání e-mailů z jiných adres na vaší doméně, přejděte na Sender Signatures v dashboardu Postmark, Add Domain or Signature > Add Domain, poté zadejte svou doménu a klikněte na Verify Domain.

Dále se vám zobrazí seznam DNS záznamů, které je třeba přidat do vaší domény na Cloudflare. Na Cloudflare dashboardu vyberte doménu, kterou jste zadali dříve, a přejděte na DNS > Records. Zkopírujte záznamy DNS (DKIM a Return-Path) ze služby Postmark do vaší domény Cloudflare.

Obrázek znázorňující přidání DNS záznamů k doméně Cloudflare

Jakmile to bude hotové, vraťte se do Postmark a klikněte na Verify tlačítka. Pokud jsou všechny záznamy správně nastaveny, měl by se stav vaší domény změnit na Verified.

Obrázek ověření domény v dashboardu Postmark

Chcete-li získat svůj API token, přejděte na Servers kartě a poté My First Server > API Tokens, poté si zkopírujte svůj API klíč na bezpečné místo.

Odesílejte e-maily z vašeho Workeru

Posledním krokem je spojení všeho dohromady ve Workeru. Ve svém Workeru vytvořte POST požadavek s fetch na e-mailové API Postmark a zahrňte svůj token a tělo zprávy:

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>",
			}),
		});
	},
};

Chcete-li otestovat kód místně, spusťte následující příkaz a přejděte na http://localhost:8787/ ↗ v prohlížeči:

npm start

Nasaďte svůj Worker pomocí npm run deploy.

Přesuňte API token do Secrets

Citlivé informace, jako jsou API klíče a tokeny, by měly být vždy uloženy jako secrets. Všechny secrets jsou šifrovány, což přidává další vrstvu ochrany. Přesto je vhodné přesunout váš API token do secretu a přistupovat k němu z prostředí vašeho Workeru.

Chcete-li přidat secrets pro lokální vývoj, vytvořte .dev.vars soubor, který funguje úplně stejně jako .env soubor:

POSTMARK_API_TOKEN=your_postmark_api_token_here

Také se ujistěte, že je secret přidán k nasazenému Workeru spuštěním:

Přidejte tajný klíč do nasazeného Workeru
npx wrangler secret put POSTMARK_API_TOKEN

K přidanému tajnému klíči lze přistupovat přes env parametru předaného do fetch handleru vašeho Workeru:

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>",
			}),
		});
	},
};

Nakonec tuto aktualizaci nasaďte pomocí npm run deploy.

Požádejte o pilot zdarma

Domluvit pilot