AGENT SKILL
mailgun
暂无简介
- License 许可
- MIT
- 最近更新
- 2026-06-24
- Stars
- ★ 66
- Forks
- 24
02 资源文件 82
- 参考文档canvas-fonts/ArsenalSC-OFL.txt4.3 KB
- 资产文件canvas-fonts/ArsenalSC-Regular.ttf162.0 KB
- 资产文件canvas-fonts/BigShoulders-Bold.ttf92.3 KB
- 参考文档canvas-fonts/BigShoulders-OFL.txt4.3 KB
- 资产文件canvas-fonts/BigShoulders-Regular.ttf92.2 KB
- 参考文档canvas-fonts/Boldonse-OFL.txt4.3 KB
- 资产文件canvas-fonts/Boldonse-Regular.ttf75.4 KB
- 资产文件canvas-fonts/BricolageGrotesque-Bold.ttf88.8 KB
- 参考文档canvas-fonts/BricolageGrotesque-OFL.txt4.3 KB
- 资产文件canvas-fonts/BricolageGrotesque-Regular.ttf88.8 KB
- 资产文件canvas-fonts/CrimsonPro-Bold.ttf104.8 KB
- 资产文件canvas-fonts/CrimsonPro-Italic.ttf106.3 KB
- 参考文档canvas-fonts/CrimsonPro-OFL.txt4.3 KB
- 资产文件canvas-fonts/CrimsonPro-Regular.ttf104.2 KB
- 参考文档canvas-fonts/DMMono-OFL.txt4.3 KB
- 资产文件canvas-fonts/DMMono-Regular.ttf47.7 KB
- 参考文档canvas-fonts/EricaOne-OFL.txt4.3 KB
- 资产文件canvas-fonts/EricaOne-Regular.ttf24.3 KB
- 资产文件canvas-fonts/GeistMono-Bold.ttf76.5 KB
- 参考文档canvas-fonts/GeistMono-OFL.txt4.3 KB
- 资产文件canvas-fonts/GeistMono-Regular.ttf76.4 KB
- 参考文档canvas-fonts/Gloock-OFL.txt4.3 KB
- 资产文件canvas-fonts/Gloock-Regular.ttf92.9 KB
- 资产文件canvas-fonts/IBMPlexMono-Bold.ttf132.8 KB
- 参考文档canvas-fonts/IBMPlexMono-OFL.txt4.3 KB
- 资产文件canvas-fonts/IBMPlexMono-Regular.ttf130.7 KB
- 资产文件canvas-fonts/IBMPlexSerif-Bold.ttf157.2 KB
- 资产文件canvas-fonts/IBMPlexSerif-BoldItalic.ttf165.9 KB
- 资产文件canvas-fonts/IBMPlexSerif-Italic.ttf166.0 KB
- 资产文件canvas-fonts/IBMPlexSerif-Regular.ttf156.6 KB
- 资产文件canvas-fonts/InstrumentSans-Bold.ttf66.5 KB
- 资产文件canvas-fonts/InstrumentSans-BoldItalic.ttf68.4 KB
- 资产文件canvas-fonts/InstrumentSans-Italic.ttf68.3 KB
- 参考文档canvas-fonts/InstrumentSans-OFL.txt4.3 KB
- 资产文件canvas-fonts/InstrumentSans-Regular.ttf66.4 KB
- 资产文件canvas-fonts/InstrumentSerif-Italic.ttf69.2 KB
- 资产文件canvas-fonts/InstrumentSerif-Regular.ttf67.7 KB
- 参考文档canvas-fonts/Italiana-OFL.txt4.3 KB
- 资产文件canvas-fonts/Italiana-Regular.ttf26.5 KB
- 资产文件canvas-fonts/JetBrainsMono-Bold.ttf112.1 KB
- 参考文档canvas-fonts/JetBrainsMono-OFL.txt4.3 KB
- 资产文件canvas-fonts/JetBrainsMono-Regular.ttf112.2 KB
- 资产文件canvas-fonts/Jura-Light.ttf150.7 KB
- 资产文件canvas-fonts/Jura-Medium.ttf150.9 KB
- 参考文档canvas-fonts/Jura-OFL.txt4.3 KB
- 参考文档canvas-fonts/LibreBaskerville-OFL.txt4.3 KB
- 资产文件canvas-fonts/LibreBaskerville-Regular.ttf144.1 KB
- 资产文件canvas-fonts/Lora-Bold.ttf130.7 KB
- 资产文件canvas-fonts/Lora-BoldItalic.ttf137.0 KB
- 资产文件canvas-fonts/Lora-Italic.ttf136.1 KB
- 参考文档canvas-fonts/Lora-OFL.txt4.3 KB
- 资产文件canvas-fonts/Lora-Regular.ttf130.8 KB
- 资产文件canvas-fonts/NationalPark-Bold.ttf77.4 KB
- 参考文档canvas-fonts/NationalPark-OFL.txt4.3 KB
- 资产文件canvas-fonts/NationalPark-Regular.ttf74.6 KB
- 参考文档canvas-fonts/NothingYouCouldDo-OFL.txt4.3 KB
- 资产文件canvas-fonts/NothingYouCouldDo-Regular.ttf31.3 KB
- 资产文件canvas-fonts/Outfit-Bold.ttf54.1 KB
- 参考文档canvas-fonts/Outfit-OFL.txt4.3 KB
- 资产文件canvas-fonts/Outfit-Regular.ttf53.6 KB
- 资产文件canvas-fonts/PixelifySans-Medium.ttf49.9 KB
- 参考文档canvas-fonts/PixelifySans-OFL.txt4.3 KB
- 参考文档canvas-fonts/PoiretOne-OFL.txt4.3 KB
- 资产文件canvas-fonts/PoiretOne-Regular.ttf44.2 KB
- 资产文件canvas-fonts/RedHatMono-Bold.ttf33.6 KB
- 参考文档canvas-fonts/RedHatMono-OFL.txt4.3 KB
- 资产文件canvas-fonts/RedHatMono-Regular.ttf33.7 KB
- 参考文档canvas-fonts/Silkscreen-OFL.txt4.3 KB
- 资产文件canvas-fonts/Silkscreen-Regular.ttf31.2 KB
- 资产文件canvas-fonts/SmoochSans-Medium.ttf58.3 KB
- 参考文档canvas-fonts/SmoochSans-OFL.txt4.3 KB
- 资产文件canvas-fonts/Tektur-Medium.ttf74.5 KB
- 参考文档canvas-fonts/Tektur-OFL.txt4.3 KB
- 资产文件canvas-fonts/Tektur-Regular.ttf73.8 KB
- 资产文件canvas-fonts/WorkSans-Bold.ttf186.8 KB
- 资产文件canvas-fonts/WorkSans-BoldItalic.ttf171.7 KB
- 资产文件canvas-fonts/WorkSans-Italic.ttf170.2 KB
- 参考文档canvas-fonts/WorkSans-OFL.txt4.3 KB
- 资产文件canvas-fonts/WorkSans-Regular.ttf184.5 KB
- 参考文档canvas-fonts/YoungSerif-OFL.txt4.3 KB
- 资产文件canvas-fonts/YoungSerif-Regular.ttf102.7 KB
- 许可证LICENSE.txt11.1 KB
03 SKILL.md 正文
Mailgun
Overview
Mailgun is a developer-focused email API for sending, receiving, and tracking emails. It handles both transactional and bulk marketing emails, includes email validation, and provides detailed analytics (opens, clicks, bounces, unsubscribes).
Instructions
Step 1: Send Email
// lib/mailgun.ts — Mailgun client
import Mailgun from 'mailgun.js'
import formData from 'form-data'
const mg = new Mailgun(formData).client({
username: 'api',
key: process.env.MAILGUN_API_KEY!,
url: 'https://api.eu.mailgun.net', // use EU endpoint for GDPR
})
// Simple send
await mg.messages.create('mg.myapp.com', {
from: 'MyApp <noreply@mg.myapp.com>',
to: ['user@example.com'],
subject: 'Your weekly report',
html: '<h1>Weekly Report</h1><p>Here are your stats...</p>',
text: 'Weekly Report\n\nHere are your stats...',
'o:tag': ['weekly-report'],
'o:tracking-clicks': 'yes',
'o:tracking-opens': 'yes',
})
Step 2: Email Validation
// Validate before sending (prevents bounces)
const validation = await mg.validate.get('user@example.com')
console.log(validation.result) // "deliverable", "undeliverable", "risky"
console.log(validation.risk) // "low", "medium", "high"
if (validation.result === 'undeliverable') {
console.log('Bad email, skipping')
}
Step 3: Webhook Events
// routes/webhooks/mailgun.ts — Track email events
import crypto from 'crypto'
function verifyMailgunWebhook(token: string, timestamp: string, signature: string): boolean {
const hash = crypto.createHmac('sha256', process.env.MAILGUN_WEBHOOK_KEY!)
.update(timestamp + token)
.digest('hex')
return hash === signature
}
export async function handleMailgunWebhook(req) {
const { signature, 'event-data': eventData } = req.body
if (!verifyMailgunWebhook(signature.token, signature.timestamp, signature.signature)) {
return { status: 401 }
}
switch (eventData.event) {
case 'delivered':
await markEmailDelivered(eventData.message.headers['message-id'])
break
case 'opened':
await trackEmailOpen(eventData.recipient, eventData.timestamp)
break
case 'clicked':
await trackEmailClick(eventData.recipient, eventData.url)
break
case 'failed':
if (eventData.severity === 'permanent') {
await removeBouncedEmail(eventData.recipient)
}
break
case 'complained':
await unsubscribeUser(eventData.recipient)
break
}
}
Guidelines
- Always verify Mailgun webhooks with HMAC — prevent fake event injection.
- Use email validation before bulk sends — reduces bounces and protects sender reputation.
- Separate transactional and marketing emails with different domains or subdomains.
- Mailgun's EU endpoint (
api.eu.mailgun.net) stores data in EU for GDPR compliance. - Free tier: 100 emails/day for 3 months. Flex plan: $0.80 per 1,000 emails.