INTEGRITY Dokumentace

Odesílání e-mailů

Odesílejte e-maily ze svých aplikací pomocí Cloudflare Email Service. Můžete použít Workers binding pro aplikace postavené na Cloudflare Workers REST API z jakékoli platformy, nebo SMTP z jakékoli aplikace nebo e-mailového klienta podporujícího SMTP.

Nastavení domény

Než začnete používat Email Sending, nakonfigurujte svou doménu.

  1. V Cloudflare dashboardu přejděte na Compute > Email Service > Email Sending.

    Přejděte na Email Sending ↗
  2. Vyberte Onboard Domain.

  3. Vyberte doménu ve svém účtu Cloudflare. Volitelně zkontrolujte záznamy DNS, které Cloudflare přidá do cf-bounce subdoménu vaší domény:

    • Záznamy MX pro směrování vrácených e-mailů do Cloudflare.
    • Záznam TXT pro SPF autorizující odesílání e-mailů.
    • Záznam TXT pro DKIM zajišťující ověření e-mailů odeslaných z vaší domény.
    • Záznam TXT pro DMARC na _dmarc.yourdomain.com.
  4. Vyberte Hotovo.

Jakmile je vaše doména přidána, můžete začít odesílat e-maily.

Odeslání prvního e-mailu

První e-mail můžete odeslat pomocí vazby Workers, REST API nebo SMTP.

Pokud vyvíjíte na Cloudflare Workers, můžete pro nativní odesílání e-mailů použít vazbu Workers. Začněte vytvořením nového projektu Worker.

  1. Vytvořte nový projekt Worker:

    npm create cloudflare@latest -- email-service-tutorial

    Po zobrazení výzvy vyberte Worker „Hello World“ jako šablonu.

  2. Přidejte e-mailový binding do konfiguračního souboru Wrangler:

    {
    	"send_email": [
    		{
    			"name": "EMAIL",
    			"remote": true,
    		},
    	],
    }
    [[send_email]]
    name = "EMAIL"
    remote = true
  3. Vytvořte kód svého Workeru v src/index.ts:

    // Configuration - Update these values
    const YOUR_DOMAIN = "yourdomain.com"; // Replace with your verified domain
    const RECIPIENT_EMAIL = "[email protected]"; // Replace with your email to receive test emails
    
    export default {
    	async fetch(request: Request, env: Env): Promise<Response> {
    		// Send a welcome email
    		const response = await env.EMAIL.send({
    			to: RECIPIENT_EMAIL,
    			from: `welcome@${YOUR_DOMAIN}`,
    			subject: "Welcome to our service!",
    			html: "<h1>Welcome!</h1><p>Thanks for signing up.</p>",
    			text: "Welcome! Thanks for signing up.",
    		});
    
    		return new Response(`Email sent: ${response.messageId}`);
    	},
    } satisfies ExportedHandler<Env>;
  4. Použijte npx wrangler dev k vývoji vašeho Worker projektu a odesílání e-mailů. Váš kód tak běží lokálně a zároveň se připojuje ke Cloudflare Email Service (pomocí vzdálené bindings).

    npx wrangler dev
    # ⎔ Starting remote preview...
    # Total Upload: 24.96 KiB / gzip: 6.17 KiB
    # [wrangler:info] Ready on http://localhost:8787
  5. Nasaďte svůj Worker:

    npm run deploy

Po nasazení otestujte, že váš Worker dokáže odesílat e-maily:

  1. Otevřete adresu URL svého Workeru v prohlížeči (zobrazenou ve výstupu nasazení, například: https://email-service-tutorial.<your-subdomain>.workers.dev).
  2. Měli byste vidět odpověď podobnou Email sent: <message-id>.
  3. Zkontrolujte schránku e-mailové adresy, kterou jste zadali v RECIPIENT_EMAIL. Pokud e-mail nevidíte, zkontrolujte složku se spamem.

Odešlete e-mail s jedním curl příkaz. Nahraďte {account_id} s vaším ID účtu Cloudflare a <API_TOKEN> s API token.

curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/email/sending/send" \
  --header "Authorization: Bearer <API_TOKEN>" \
  --header "Content-Type: application/json" \
  --data '{
    "to": "[email protected]",
    "from": "[email protected]",
    "subject": "Welcome to our service!",
    "html": "<h1>Welcome!</h1><p>Thanks for signing up.</p>",
    "text": "Welcome! Thanks for signing up."
  }'

Úspěšná odpověď obsahuje stav doručení pro každého příjemce:

{
	"success": true,
	"errors": [],
	"messages": [],
	"result": {
		"delivered": ["[email protected]"],
		"permanent_bounces": [],
		"queued": []
	}
}

Další podrobnosti najdete v Referenční dokumentace REST API.

Odešlete e-mail s jedním curl příkaz. Nahraďte <API_TOKEN> s Token Cloudflare API která má Email Sending: Upravit oprávnění a nahraďte --mail-from a --mail-rcpt adresy vlastními.

cat > mail.txt <<EOF
From: [email protected]
To: [email protected]
Subject: Welcome to our service!

Thanks for signing up.
EOF

curl --ssl-reqd \
  --url "smtps://smtp.mx.cloudflare.net:465" \
  --user "api_token:<API_TOKEN>" \
  --mail-from "[email protected]" \
  --mail-rcpt "[email protected]" \
  --upload-file mail.txt

Doména odesílatele ([email protected]) musí být zprovozněna pro Email Sending v účtu, který vlastní API token.

Podrobnosti o připojení, ověřování, návratových kódech a příklady pro jednotlivé jazyky najdete v Referenční příručka SMTP.

Další kroky

Nyní, když umíte odesílat e-maily, si můžete prohlédnout pokročilé funkce: