Email Automatisierung mit Claude Code: Transactional Emails & Workflows 2026
Email ist der unterschätzte Kommunikationskanal — zuverlässiger als Push-Notifications, direkter als Social Media. Claude Code automatisiert den gesamten Email-Stack: vom Template bis zur KI-gestützten Klassifizierung eingehender Emails.
Transaktionale Emails mit Resend
TransactionalResend Setup mit React Email
# Prompt: "Erstelle einen vollständigen Email-Service:
# - Resend als Provider
# - React Email für Templates
# - Welcome Email, Password Reset, Order Confirmation"
# email/welcome.tsx — React Email Template
import { Html, Head, Body, Container, Text, Button, Hr } from '@react-email/components';
interface WelcomeEmailProps {
name: string;
confirmUrl: string;
}
export function WelcomeEmail({ name, confirmUrl }: WelcomeEmailProps) {
return (
<Html>
<Head />
<Body style={{ fontFamily: 'Arial, sans-serif', background: '#f4f4f4' }}>
<Container style={{ maxWidth: '600px', margin: '0 auto', background: 'white', padding: '32px' }}>
<Text style={{ fontSize: '24px', fontWeight: 'bold' }}>
Willkommen, {name}!
</Text>
<Text>Bestätige deine Email-Adresse um loszulegen.</Text>
<Button href={confirmUrl} style={{
background: '#6366f1', color: 'white',
padding: '12px 24px', borderRadius: '6px'
}}>
Email bestätigen
</Button>
<Hr />
<Text style={{ color: '#666', fontSize: '12px' }}>
Link gültig für 24 Stunden.
</Text>
</Container>
</Body>
</Html>
);
}
# Email senden mit Resend
import { Resend } from 'resend';
import { render } from '@react-email/render';
import { WelcomeEmail } from './email/welcome';
const resend = new Resend(process.env.RESEND_API_KEY);
export async function sendWelcomeEmail(user: { name: string, email: string }) {
const confirmToken = crypto.randomBytes(32).toString('hex');
await db.emailTokens.create({ userId: user.id, token: confirmToken });
const html = render(WelcomeEmail({
name: user.name,
confirmUrl: `${process.env.APP_URL}/confirm-email?token=${confirmToken}`
}));
await resend.emails.send({
from: 'Agentic Movers <hello@agentic-movers.com>',
to: user.email,
subject: `Willkommen bei Agentic Movers, ${user.name}!`,
html
});
}
Email-Templates mit Claude Code generieren
TemplateAus Beschreibung zu HTML-Template
# Prompt für Email-Template-Generierung:
Erstelle ein professionelles HTML-Email-Template für:
"Bestellbestätigung für einen E-Commerce-Shop"
Anforderungen:
- Kompatibel mit allen Email-Clients (Outlook 2016, Gmail, Apple Mail)
- Responsive: funktioniert auf Mobile
- Informationen: Bestellnummer, Produktliste, Gesamtpreis, Lieferadresse
- Markenfarbe: #6366f1 (Lila)
- Footer: Abmelden-Link, Datenschutz, Impressum
Nutze Table-basiertes Layout (nicht Flexbox/Grid — nicht email-kompatibel!)
Inline CSS für maximale Kompatibilität.
Email-CSS Regel: Claude Code weiß: kein Flexbox, kein Grid, kein CSS Grid in Emails. Nur Tables, inline CSS, max 600px Breite. Das ist einer der häufigsten Fehler — Claude Code macht ihn nicht.
Eingehende Emails mit KI klassifizieren
Email ParsingInbox-Klassifizierung mit Claude
# Webhook-Handler für eingehende Emails (Resend Inbound / Postmark)
app.post('/webhooks/email/inbound', async (req, res) => {
const { from, subject, text, html } = req.body;
const classification = await claude.messages.create({
model: 'claude-haiku-4-5', // Schnell + günstig für Klassifizierung
max_tokens: 256,
messages: [{
role: 'user',
content: `Klassifiziere diese eingehende Email als JSON:
From: ${from}
Betreff: ${subject}
Inhalt: ${text?.substring(0, 500)}
Schema: { "type": "support|billing|spam|partnership|job|other", "priority": "high|medium|low", "auto_reply": boolean, "suggested_response": string | null }`
}]
});
const result = JSON.parse(classification.content[0].text);
if (result.type === 'spam') { return res.sendStatus(200); }
await db.tickets.create({ from, subject, classification: result });
if (result.auto_reply && result.suggested_response) {
await resend.emails.send({
to: from,
subject: `Re: ${subject}`,
text: result.suggested_response
});
}
res.sendStatus(200);
});
Newsletter-System
# Einfaches Newsletter-System mit Claude-generiertem Content
async function sendWeeklyNewsletter() {
const subscribers = await db.subscribers.findActive();
// Newsletter-Content mit Claude generieren
const content = await claude.messages.create({
messages: [{
role: 'user',
content: `Erstelle einen Newsletter für KW ${getWeekNumber()}.
Themen diese Woche: [aus CMS oder RSS-Feed einlesen]
Tonalität: professionell aber persönlich
Länge: 200-300 Wörter
Format: Markdown (wird zu HTML konvertiert)`
}]
});
// Batch-Send mit Rate-Limiting
const BATCH_SIZE = 50;
for (let i = 0; i < subscribers.length; i += BATCH_SIZE) {
const batch = subscribers.slice(i, i + BATCH_SIZE);
await Promise.all(batch.map(sub =>
resend.emails.send({
to: sub.email,
subject: `KW ${getWeekNumber()}: Was es Neues gibt`,
html: markdownToHtml(content.content[0].text)
})
));
await sleep(1000); // Rate Limit einhalten
}
}
Deliverability beachten: SPF, DKIM, DMARC müssen korrekt konfiguriert sein. Claude Code kann dir die DNS-Einträge erklären und prüfen — frage explizit danach bevor du mit Email-Versand startest.
Email-Automation im Kurs
Im Claude Code Mastery Kurs: vollständiger Email-Stack mit Resend + React Email, KI-gestützte Inbox-Klassifizierung, Newsletter-System und Transaktionsemail-Templates — direkt produktionsreif.
14 Tage kostenlos testen →