Communitygithub.com

mailtrap-email-integration

エージェントがMailtrapを介したトランザクションメール送信を統合する際にガイドします。

mailtrap-email-integration とは?

このスキルは、MailtrapのEmail APIとSandboxを使用してアプリケーションにトランザクションメール送信機能を追加するためのパターンを提供します。認証、環境分離、および一般的な配信の問題をカバーしており、開発者は「メール送信」機能の実装や、開発/ステージング環境でのメール未着デバッグ、初めてのメール送信統合設定、Sandbox分離なしで直接APIを呼び出すコードのレビューなど、具体的なシナリオでこのスキルを活用できます。MailtrapのSandboxはメールをキャプチャして実際の受信トレイに配信しないため、開発環境でのテストに最適です。一方、本番環境では検証済みドメインのエンドポイントを使用し、異なるAPIトークンを環境ごとに分離することが推奨されます。コード例では、TypeScriptを用いた本番/サンドボックス両方の呼び出し方法を示し、アンチパターンとしてハードコードされたトークンやドメイン未検証での送信などを挙げ、ベストプラクティスとして環境変数管理、DNSレコード検証、エラーハンドリングを強調しています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/everything-claude-code/tree/main/skills/mailtrap-email-integration

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Mailtrap Email Integration

MailtrapのEmail APIとSandboxを使用してアプリケーションにトランザクションメール送信を追加するためのパターン。認証、環境分離、一般的な配信の落とし穴をカバーしています。

アクティブ化のタイミング

  • 「メール送信」機能の実装(サインアップ確認、パスワードリセット、通知、領収書)
  • 開発/ステージング環境でメールが届かない理由のデバッグ
  • プロジェクトへの初めてのメール送信統合のセットアップ
  • Sandbox分離なしでメールAPIを直接呼び出すコードのレビュー

コアコンセプト

Sandboxと本番環境の分離。 Mailtrapは、メールを配信せずにキャプチャするSandbox APIを提供します。これは開発/ステージング環境で使用され、テストメールが実際の受信トレイに届かないようにします。本番送信には、別途検証済みドメインのエンドポイントを使用します。開発環境を本番送信エンドポイントに向けてはいけません。

認証。 リクエストはAuthorizationヘッダーのBearerトークンを使用します。トークンはプロジェクトごとにスコープされ、Sandboxと本番では通常異なるトークンを使用します。

ドメイン検証。 本番送信では、Mailtrapが実際の受信者に配信する前に、DNSレコード(SPF、DKIM、DMARC)を介して送信ドメインを検証する必要があります。これをスキップすると、サイレント配信エラーやスパムフォルダーへの格下げが発生します。

コード例

// MailtrapのEmail APIを使用した送信(本番環境)
async function sendEmail(to: string, subject: string, html: string) {
  const response = await fetch("https://send.api.mailtrap.io/api/send", {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${process.env.MAILTRAP_API_TOKEN}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      from: { email: "[email protected]", name: "Your App" },
      to: [{ email: to }],
      subject,
      html,
    }),
  });

  if (!response.ok) {
    throw new Error(`Email send failed: ${response.status}`);
  }
  return response.json();
}
// 同じ呼び出しを非本番環境ではSandboxにルーティング
const MAILTRAP_ENDPOINT = process.env.NODE_ENV === "production"
  ? "https://send.api.mailtrap.io/api/send"
  : `https://sandbox.api.mailtrap.io/api/send/${process.env.MAILTRAP_INBOX_ID}`;

アンチパターン

アンチパターン問題点代わりにすべきこと
開発/テストで本番送信エンドポイントを使用実際のテストメールが本番受信トレイに届き、スパム苦情やテストデータ漏洩のリスク非本番環境はSandboxエンドポイントにルーティングする
ソースコードへのAPIトークンのハードコーディングバージョン管理にコミットすると認証情報漏洩リスク環境変数/シークレットマネージャーからトークンを読み込む
ドメイン検証完了前の送信メールがサイレントエラーになるかスパムフォルダーに格納本番送信を有効にする前にSPF/DKIM/DMARCレコードを検証する
送信失敗時のリトライ/エラーハンドリングなしサイレントな通知失敗(例:ユーザーがパスワードリセットメールを受け取れない)レスポンスステータスを確認し、失敗をログに記録し、実行可能なエラーを表示する

ベストプラクティス

  • Sandboxと本番のトークンは別々の環境変数に保持し、1つのトークンを複数の環境で共有しない
  • メールを含む本番リリースの前に、送信ドメインのDNSレコードを検証する
  • 配信失敗を十分なコンテキスト(受信者、テンプレート、タイムスタンプ、レスポンスコード)でログに記録する
  • メール送信はエラーが発生し得るネットワーク呼び出しとして扱い、try/catchでラップし、成功を前提としない

関連スキル

api-and-interface-design, security-and-hardening, ci-cd-and-automation

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/claude-api

Anthropic Claude API patterns for Python and TypeScript. Covers Messages API, streaming, tool use, vision, extended thinking, batches, prompt caching, and Claude Agent SDK. Use when building applications with the Claude API or Anthropic SDKs.

affaan-m/everything-claude-code

End-to-end marketing campaign planning and execution. Covers audience research, positioning, campaign angle definition, landing page copy, email sequences, social posts, ad copy, short-form video scripts, and content calendars. Use as the orchestration layer for multi-channel product launches. Use when planning or executing a multi-channel product launch, or producing landing page, email, social, or ad copy.

affaan-m/everything-claude-code

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/everything-claude-code-conventions

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.

affaan-m/gget

gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.

affaan-m/literature-review

Systematic literature-review workflow for academic, biomedical, technical, and scientific topics, including search planning, source screening, synthesis, citation checks, and evidence logging.

affaan-m/motion-ui

Production-ready UI motion system for React/Next.js. Use when implementing animations, transitions, or motion patterns.

affaan-m/project-guidelines-example

Example project-specific skill template based on a real production application.

affaan-m/pubmed-database

Direct PubMed and NCBI E-utilities search workflows for biomedical literature, MeSH queries, PMID lookup, citation retrieval, and API-backed literature monitoring.

affaan-m/scholar-evaluation

Structured scholarly-work evaluation for papers, proposals, literature reviews, methods sections, evidence quality, citation support, and research-writing feedback.

affaan-m/uspto-database

USPTO patent and trademark data workflow for official record lookup, PatentSearch queries, TSDR checks, assignment data, and reproducible IP research logs.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

関連スキル