Mailtrap MCP Server

आधिकारिक

Mailtrap ईमेल API के साथ एकीकृत होता है।

दस्तावेज़

TypeScript test NPM

MCP Mailtrap सर्वर

एक MCP सर्वर जो Mailtrap के माध्यम से सैंडबॉक्स में भेजने और परीक्षण करने के लिए उपकरण प्रदान करता है।

पूर्वापेक्षाएँ

इस MCP सर्वर का उपयोग करने से पहले, आपको यह करना होगा:

  1. एक Mailtrap खाता बनाएँ
  2. अपना डोमेन सत्यापित करें
  3. Mailtrap API सेटिंग्स से अपना API टोकन प्राप्त करें
  4. Mailtrap खाता प्रबंधन से अपना खाता ID प्राप्त करें

आवश्यक पर्यावरण चर:

  • MAILTRAP_API_TOKEN - सभी कार्यक्षमता के लिए आवश्यक
  • MAILTRAP_ACCOUNT_ID - टेम्पलेट, आँकड़े, ईमेल लॉग, सैंडबॉक्स सूची/दिखाएँ, और भेजने वाले डोमेन के लिए आवश्यक। केवल send-email और send-sandbox-email के लिए वैकल्पिक।

वैकल्पिक (इसके बजाय उपकरण पैरामीटर के रूप में पारित किया जा सकता है):

  • DEFAULT_FROM_EMAIL - डिफ़ॉल्ट प्रेषक ईमेल जब from send-email या send-sandbox-email को प्रदान नहीं किया जाता है। from पैरामीटर के माध्यम से प्रति कॉल प्रेषक बदलने में सक्षम बनाता है।
  • MAILTRAP_TEST_INBOX_ID - सैंडबॉक्स उपकरणों के लिए डिफ़ॉल्ट परीक्षण इनबॉक्स ID जब test_inbox_id प्रदान नहीं किया जाता है। test_inbox_id पैरामीटर के माध्यम से प्रति कॉल इनबॉक्स के बीच स्विच करने में सक्षम बनाता है।
  • MAILTRAP_SANDBOX_ID - सैंडबॉक्स उपकरणों के लिए डिफ़ॉल्ट सैंडबॉक्स ID जब sandbox_id प्रदान नहीं किया जाता है। sandbox_id पैरामीटर के माध्यम से प्रति कॉल सैंडबॉक्स के बीच स्विच करने में सक्षम बनाता है।
  • MAILTRAP_ORGANIZATION_ID - संगठन उपकरणों (list-sub-accounts, create-sub-account) के लिए आवश्यक।
  • MAILTRAP_ORGANIZATION_API_TOKEN - संगठन-स्कोप्ड API टोकन। संगठन उपकरणों के लिए आवश्यक (MAILTRAP_API_TOKEN से अलग)।

त्वरित स्थापना

Install in Cursor

Install with Node in VS Code

Smithery CLI

Smithery MCP सर्वरों के लिए एक रजिस्ट्री इंस्टॉलर और प्रबंधक है जो सभी AI क्लाइंट के साथ काम करता है।

npx @smithery/cli install mailtrap

Smithery स्वचालित रूप से क्लाइंट कॉन्फ़िगरेशन को संभालता है और एक इंटरैक्टिव सेटअप प्रक्रिया प्रदान करता है। स्थानीय रूप से MCP सर्वरों के साथ आरंभ करने का यह सबसे आसान तरीका है।

सेटअप

Claude Desktop

Mailtrap सर्वर स्थापित करने के लिए MCPB का उपयोग करें। आप वे फ़ाइलें Releases में पा सकते हैं।
.MCPB फ़ाइल डाउनलोड करें और इसे खोलें। यदि आपके पास Claude Desktop है - यह इसे खोलेगा और कॉन्फ़िगर करने का सुझाव देगा।

Claude Desktop या Cursor

निम्नलिखित कॉन्फ़िगरेशन जोड़ें:

{
  "mcpServers": {
    "mailtrap": {
      "command": "npx",
      "args": ["-y", "mcp-mailtrap"],
      "env": {
        "MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
        "DEFAULT_FROM_EMAIL": "[email protected]",
        "MAILTRAP_ACCOUNT_ID": "your_account_id",
        "MAILTRAP_TEST_INBOX_ID": "your_test_inbox_id"
      }
    }
  }
}

यदि आप Node.js प्रबंधित करने के लिए asdf का उपयोग कर रहे हैं तो आपको निष्पादन योग्य के लिए निरपेक्ष पथ का उपयोग करना होगा (Mac के लिए उदाहरण)

{
  "mcpServers": {
    "mailtrap": {
      "command": "/Users/<username>/.asdf/shims/npx",
      "args": ["-y", "mcp-mailtrap"],
      "env": {
        "PATH": "/Users/<username>/.asdf/shims:/usr/bin:/bin",
        "ASDF_DIR": "/opt/homebrew/opt/asdf/libexec",
        "ASDF_DATA_DIR": "/Users/<username>/.asdf",
        "ASDF_NODEJS_VERSION": "20.6.1",
        "MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
        "DEFAULT_FROM_EMAIL": "[email protected]",
        "MAILTRAP_ACCOUNT_ID": "your_account_id",
        "MAILTRAP_TEST_INBOX_ID": "your_test_inbox_id"
      }
    }
  }
}

Claude Desktop कॉन्फ़िग फ़ाइल स्थान

Mac: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

Cursor कॉन्फ़िग फ़ाइल स्थान

Mac: ~/.cursor/mcp.json

Windows: %USERPROFILE%\.cursor\mcp.json

VS Code

मैन्युअल रूप से कॉन्फ़िग बदलना

कमांड पैलेट में चलाएँ: Preferences: Open User Settings (JSON)

फिर, सेटिंग्स फ़ाइल में, निम्नलिखित कॉन्फ़िगरेशन जोड़ें:

{
  "mcp": {
    "servers": {
      "mailtrap": {
        "command": "npx",
        "args": ["-y", "mcp-mailtrap"],
        "env": {
          "MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
          "DEFAULT_FROM_EMAIL": "[email protected]",
          "MAILTRAP_ACCOUNT_ID": "your_account_id",
          "MAILTRAP_TEST_INBOX_ID": "your_test_inbox_id"
        }
      }
    }
  }
}

[!TIP] "env" अनुभाग बदलने के बाद अपने MCP सर्वर को पुनरारंभ करना न भूलें।

MCP बंडल (MCPB)

MCP बंडल का समर्थन करने वाले होस्ट में आसान स्थापना के लिए, आप एक .mcpb बंडल फ़ाइल वितरित कर सकते हैं।

# Build TypeScript and pack the MCPB bundle
npm run mcpb:pack

# Inspect bundle metadata
npm run mcpb:info

# Sign the bundle for distribution (optional)
npm run mcpb:sign

यह रिपॉजिटरी manifest.json और dist/ में निर्मित कलाकृतियों का उपयोग करके mailtrap-mcp.mcpb बनाता है।

उपयोग

एक बार कॉन्फ़िगर हो जाने पर, आप एजेंट से ईमेल भेजने और टेम्पलेट प्रबंधित करने के लिए कह सकते हैं, उदाहरण के लिए:

ईमेल भेजने के संचालन:

  • "[email protected] को 'कल मीटिंग' विषय और हमारी आगामी मीटिंग के बारे में एक मैत्रीपूर्ण अनुस्मारक के साथ एक ईमेल भेजें।"
  • "[email protected] को प्रोजेक्ट अपडेट के बारे में ईमेल करें, और [email protected] पर टीम को CC करें"
  • "[email protected] को चर { name: 'Alex' } के साथ स्वागत टेम्पलेट (uuid b81aabcd-1a1e-41cf-91b6-eca0254b3d96) भेजें"
  • "यह पूर्वावलोकन करने के लिए कि हमारा स्वागत ईमेल कैसा दिखता है, [email protected] को 'टेस्ट टेम्पलेट' विषय के साथ एक सैंडबॉक्स ईमेल भेजें"

ईमेल लॉग (डीबग डिलीवरी):

  • "मेरे हाल के भेजे गए ईमेल लॉग सूचीबद्ध करें"
  • "[email protected] पर भेजे गए ईमेल के लिए ईमेल लॉग दिखाएँ"
  • "डिलीवरी स्थिति जाँचने के लिए ID abc-123-uuid के लिए ईमेल लॉग संदेश प्राप्त करें"

भेजने के आँकड़े:

  • "जनवरी 2025 के लिए भेजने के आँकड़े प्राप्त करें"
  • "पिछले महीने के लिए डोमेन द्वारा विभाजित डिलीवरी दरें दिखाएँ"
  • "2025-01-01 से 2025-01-31 तक श्रेणी के अनुसार मेरे ईमेल आँकड़े क्या हैं?"

सैंडबॉक्स संचालन:

  • "मेरे सैंडबॉक्स इनबॉक्स से सभी संदेश प्राप्त करें"
  • "मुझे सैंडबॉक्स संदेशों का पहला पृष्ठ दिखाएँ"
  • "मेरे सैंडबॉक्स इनबॉक्स में 'test' वाले संदेश खोजें"
  • "मुझे ID 5159037506 वाले सैंडबॉक्स संदेश का विवरण दिखाएँ"

टेम्पलेट संचालन:

  • "मेरे Mailtrap खाते में सभी ईमेल टेम्पलेट सूचीबद्ध करें"
  • "'स्वागत ईमेल' नामक एक नया ईमेल टेम्पलेट बनाएँ जिसका विषय 'हमारे प्लेटफ़ॉर्म पर आपका स्वागत है!' हो"
  • "विषय को 'अद्यतन स्वागत संदेश' में बदलने के लिए ID 12345 वाले टेम्पलेट को अपडेट करें"
  • "ID 67890 वाले टेम्पलेट को हटाएँ"

भेजने वाले डोमेन:

  • "मेरे भेजने वाले डोमेन सूचीबद्ध करें"
  • "ID 3938 वाला भेजने वाला डोमेन प्राप्त करें"
  • "example.com के लिए एक भेजने वाला डोमेन बनाएँ"
  • "भेजने वाला डोमेन 3938 हटाएँ"
  • "DNS सेटअप निर्देशों के साथ भेजने वाला डोमेन 3938 प्राप्त करें"

उपलब्ध उपकरण

send-email

Mailtrap के माध्यम से एक लेन-देन ईमेल भेजता है। दो परस्पर अनन्य मोड का समर्थन करता है — इनलाइन सामग्री (subject + text/html) या टेम्पलेट-आधारित (template_uuid)।

पैरामीटर:

  • from (वैकल्पिक): एक ईमेल स्ट्रिंग या { email, name? } के रूप में प्रेषक। यदि प्रदान नहीं किया गया है, तो DEFAULT_FROM_EMAIL का उपयोग किया जाता है।
  • to (वैकल्पिक): प्राप्तकर्ता — एक एकल ईमेल/{ email, name? } या एक सरणी। यदि cc या bcc प्रदान किया गया है तो वैकल्पिक; to / cc / bcc में से कम से कम एक में एक प्राप्तकर्ता होना चाहिए।
  • cc (वैकल्पिक): CC प्राप्तकर्ताओं की सरणी (प्रत्येक ईमेल स्ट्रिंग या { email, name? })।
  • bcc (वैकल्पिक): BCC प्राप्तकर्ताओं की सरणी (प्रत्येक ईमेल स्ट्रिंग या { email, name? })।
  • subject (सशर्त): ईमेल विषय पंक्ति। इनलाइन भेजने के लिए आवश्यक; जब template_uuid सेट हो तो छोड़ा जाना चाहिए।
  • text (सशर्त): ईमेल मुख्य भाग पाठ। इनलाइन भेजने के लिए आवश्यक (html के साथ या उसके बजाय); जब template_uuid सेट हो तो छोड़ा जाना चाहिए।
  • html (सशर्त): ईमेल मुख्य भाग का HTML संस्करण। इनलाइन भेजने के लिए आवश्यक (text के साथ या उसके बजाय); जब template_uuid सेट हो तो छोड़ा जाना चाहिए।
  • category (वैकल्पिक): ट्रैकिंग और विश्लेषण के लिए ईमेल श्रेणी। जब template_uuid सेट हो तो छोड़ा जाना चाहिए।
  • template_uuid (वैकल्पिक): इनलाइन सामग्री के बजाय Mailtrap ईमेल टेम्पलेट का उपयोग करें। सेट होने पर, subject / text / html / category को छोड़ा जाना चाहिए (Mailtrap API के अनुसार)।
  • template_variables (वैकल्पिक): template_uuid द्वारा संदर्भित टेम्पलेट में प्रतिस्थापित चरों का ऑब्जेक्ट। केवल template_uuid के साथ अनुमत।

batch-send-transactional-email

एक Mailtrap API कॉल (डिफ़ॉल्ट भेजने की स्ट्रीम) में लेन-देन ईमेल का एक बैच भेजता है। साझा फ़ील्ड base पर जाते हैं; प्रति-प्राप्तकर्ता ओवरराइड requests[] में जाते हैं। प्रत्येक अनुरोध में to, cc, या bcc के माध्यम से कम से कम एक प्राप्तकर्ता शामिल होना चाहिए। send-email के समान इनलाइन-बनाम-टेम्पलेट पारस्परिक बहिष्करण — प्रत्येक अनुरोध के साथ आधार को मर्ज करने के बाद जाँचा गया।

पैरामीटर:

  • base (वैकल्पिक): बैच में साझा किए गए फ़ील्ड वाला ऑब्जेक्ट।
    • from (वैकल्पिक): एक ईमेल स्ट्रिंग या { email, name? } के रूप में प्रेषक। DEFAULT_FROM_EMAIL पर वापस आता है।
    • reply_to (वैकल्पिक): उत्तर-दें पता।
    • subject / text / html / category (वैकल्पिक, इनलाइन मोड): प्रत्येक अनुरोध के लिए डिफ़ॉल्ट सामग्री।
    • template_uuid / template_variables (वैकल्पिक, टेम्पलेट मोड): डिफ़ॉल्ट टेम्पलेट + चर। इनलाइन फ़ील्ड के साथ परस्पर अनन्य।
    • custom_variables (वैकल्पिक): डिफ़ॉल्ट कस्टम चर (स्ट्रिंग-मूल्यवान)।
    • headers (वैकल्पिक): डिफ़ॉल्ट कस्टम हेडर।
  • requests (आवश्यक): प्रति-प्राप्तकर्ता संदेशों की गैर-रिक्त सरणी। प्रत्येक प्रविष्टि में है:
    • to (वैकल्पिक): प्राप्तकर्ता — स्ट्रिंग, { email, name? }, या एक सरणी। यदि cc या bcc प्रदान किया गया है तो वैकल्पिक; to / cc / bcc में से कम से कम एक में एक प्राप्तकर्ता होना चाहिए।
    • cc, bcc, reply_to (वैकल्पिक)।
    • इनलाइन (subject/text/html/category) या टेम्पलेट (template_uuid/template_variables) ओवरराइड; छोड़ा गया कोई भी फ़ील्ड मिलान वाले base मान पर वापस आता है।
    • custom_variables, headers (वैकल्पिक)।

batch-send-bulk-email

Mailtrap के बल्क-स्ट्रीम API के माध्यम से बल्क ईमेल का एक बैच भेजता है। batch-send-transactional-email के समान base + requests[] आकार, सत्यापन और इनलाइन-बनाम-टेम्पलेट नियम — एकमात्र अंतर यह है कि यह उपकरण कॉल को लेन-देन वाले के बजाय बल्क एंडपॉइंट के माध्यम से रूट करता है। ऊपर दिए गए पैरामीटर देखें।

list-email-logs

वैकल्पिक पृष्ठांकन और फ़िल्टर के साथ भेजे गए ईमेल लॉग (डिलीवरी इतिहास) को सूचीबद्ध करता है। IDE से डिलीवरी समस्याओं को डीबग करने के लिए उपयोग करें।

पैरामीटर:

  • search_after (वैकल्पिक): पिछली प्रतिक्रिया के next_page_cursor से पृष्ठांकन कर्सर
  • sent_after (वैकल्पिक): ISO 8601 दिनांक/समय; केवल इस समय के बाद भेजे गए लॉग
  • sent_before (वैकल्पिक): ISO 8601 दिनांक/समय; केवल इस समय से पहले भेजे गए लॉग
  • from_email (वैकल्पिक): प्रेषक ईमेल द्वारा फ़िल्टर करें; from_operator के साथ उपयोग करें (डिफ़ॉल्ट: ci_equal)
  • to_email (वैकल्पिक): प्राप्तकर्ता ईमेल द्वारा फ़िल्टर करें; to_operator के साथ उपयोग करें (डिफ़ॉल्ट: ci_equal)
  • status (वैकल्पिक): डिलीवरी स्थिति द्वारा फ़िल्टर करें: delivered, not_delivered, enqueued, opted_out; status_operator के साथ उपयोग करें (डिफ़ॉल्ट: equal)
  • subject (वैकल्पिक): ईमेल विषय द्वारा फ़िल्टर करें; subject_operator के साथ उपयोग करें (डिफ़ॉल्ट: ci_contain)। विषय की उपस्थिति से फ़िल्टर करने के लिए subject_operator: empty/not_empty का उपयोग करें।
  • sending_domain_id (वैकल्पिक): भेजने वाले डोमेन ID (संख्या) द्वारा फ़िल्टर करें; sending_domain_id_operator के साथ उपयोग करें (डिफ़ॉल्ट: equal)
  • sending_stream (वैकल्पिक): स्ट्रीम द्वारा फ़िल्टर करें: transactional या bulk; sending_stream_operator के साथ उपयोग करें (डिफ़ॉल्ट: equal)
  • events (वैकल्पिक): ईवेंट प्रकार द्वारा फ़िल्टर करें: delivery, open, click, bounce, spam, unsubscribe, soft_bounce, reject, suspension; events_operator (include_event / not_include_event) के साथ उपयोग करें
  • clicks_count / opens_count (वैकल्पिक): क्लिक/खोलने की संख्या द्वारा फ़िल्टर करें; *_operator: equal, greater_than, less_than के साथ उपयोग करें
  • client_ip / sending_ip (वैकल्पिक): IP द्वारा फ़िल्टर करें; *_operator: equal, not_equal, contain, not_contain के साथ उपयोग करें
  • email_service_provider_response (वैकल्पिक): प्रदाता प्रतिक्रिया पाठ द्वारा फ़िल्टर करें; *_operator (ci_contain, आदि) के साथ उपयोग करें
  • email_service_provider (वैकल्पिक): प्रदाता (सटीक) द्वारा फ़िल्टर करें; *_operator: equal, not_equal के साथ उपयोग करें
  • recipient_mx (वैकल्पिक): प्राप्तकर्ता MX द्वारा फ़िल्टर करें; recipient_mx_operator (ci_contain, आदि) के साथ उपयोग करें
  • category (वैकल्पिक): ईमेल श्रेणी द्वारा फ़िल्टर करें; category_operator: equal, not_equal के साथ उपयोग करें

सभी पैरामीटर वैकल्पिक हैं।

get-email-log-message

ID (UUID) द्वारा एक एकल ईमेल लॉग संदेश प्राप्त करता है: एक पठनीय सारांश (प्रेषक, प्राप्तकर्ता, विषय, भेजने का समय, स्थिति, श्रेणी, स्ट्रीम, सहभागिता, डिलीवरी संदर्भ), फिर विस्तृत ईवेंट इतिहास। वैकल्पिक रूप से, include_content: true के साथ, जब Mailtrap एक कच्चा संदेश URL उजागर करता है, तो आप संदेश मुख्य भाग (HTML और सादा पाठ) भी लोड और दिखा सकते हैं।

पैरामीटर:

  • message_id (आवश्यक): ईमेल लॉग संदेश का UUID (भेजने की प्रतिक्रिया या list-email-logs से)। संदेश ID खोजने के लिए list-email-logs का उपयोग करें।
  • include_content (वैकल्पिक): जब true, कच्चा EML प्राप्त करता है (यदि raw_message_url उपलब्ध है) और show-sandbox-email-message के समान, पार्स किए गए HTML और सादा-पाठ मुख्य भाग अनुभाग जोड़ता है।

get-sending-stats

एक तिथि सीमा के लिए ईमेल भेजने के आँकड़े (डिलीवरी, बाउंस, खोलें, क्लिक, स्पैम दरें) प्राप्त करें। वैकल्पिक रूप से डोमेन, श्रेणी, ईमेल सेवा प्रदाता, या तिथि के अनुसार विभाजित करें। संपादक छोड़े बिना डिलीवरी दरों की जाँच करें।

पैरामीटर:

  • start_date (आवश्यक): आँकड़ा सीमा के लिए आरंभ तिथि (YYYY-MM-DD)
  • end_date (आवश्यक): आँकड़ा सीमा के लिए समाप्ति तिथि (YYYY-MM-DD)
  • breakdown (वैकल्पिक): आँकड़ों का विश्लेषण कैसे करें: aggregated (डिफ़ॉल्ट), by_domain, by_category, by_email_service_provider, या by_date
  • sending_domain_ids (वैकल्पिक): परिणामों को इन प्रेषक डोमेन आईडी तक सीमित करें (पूर्णांकों की सरणी)
  • sending_streams (वैकल्पिक): transactional और/या bulk तक सीमित करें (स्ट्रिंग की सरणी)
  • categories (वैकल्पिक): इन ईमेल श्रेणियों तक सीमित करें (स्ट्रिंग की सरणी)
  • email_service_providers (वैकल्पिक): इन प्रदाताओं तक सीमित करें, जैसे Google, Yahoo, Outlook (स्ट्रिंग की सरणी)

create-template

आपके Mailtrap खाते में एक नया ईमेल टेम्पलेट बनाता है।

पैरामीटर:

  • name (आवश्यक): टेम्पलेट का नाम
  • subject (आवश्यक): ईमेल विषय पंक्ति
  • html (या text आवश्यक है): टेम्पलेट की HTML सामग्री
  • text (या html आवश्यक है): टेम्पलेट का सादा पाठ संस्करण
  • category (वैकल्पिक): टेम्पलेट श्रेणी (डिफ़ॉल्ट "General")

list-templates

आपके Mailtrap खाते के सभी ईमेल टेम्पलेट्स को सूचीबद्ध करता है।

पैरामीटर:

  • कोई पैरामीटर आवश्यक नहीं

get-template

आईडी द्वारा एकल ईमेल टेम्पलेट प्राप्त करें, जिसमें विषय, श्रेणी और HTML/पाठ मुख्य भाग शामिल है।

पैरामीटर:

  • template_id (आवश्यक): प्राप्त करने के लिए टेम्पलेट की आईडी

update-template

किसी मौजूदा ईमेल टेम्पलेट को अपडेट करता है।

पैरामीटर:

  • template_id (आवश्यक): अपडेट करने के लिए टेम्पलेट की आईडी
  • name (वैकल्पिक): टेम्पलेट के लिए नया नाम
  • subject (वैकल्पिक): नई ईमेल विषय पंक्ति
  • html (वैकल्पिक): टेम्पलेट की नई HTML सामग्री
  • text (वैकल्पिक): टेम्पलेट का नया सादा पाठ संस्करण
  • category (वैकल्पिक): टेम्पलेट के लिए नई श्रेणी

[!NOTE] अपडेट करने के लिए update-template को कॉल करते समय कम से कम एक अपडेट करने योग्य फ़ील्ड (नाम, विषय, html, पाठ, या श्रेणी) प्रदान किया जाना चाहिए।

delete-template

किसी मौजूदा ईमेल टेम्पलेट को हटाता है।

पैरामीटर:

  • template_id (आवश्यक): हटाने के लिए टेम्पलेट की आईडी

send-sandbox-email

विकास और परीक्षण उद्देश्यों के लिए आपके Mailtrap परीक्षण इनबॉक्स में एक ईमेल भेजता है। यह वास्तविक प्राप्तकर्ताओं को ईमेल भेजे बिना ईमेल टेम्पलेट्स का परीक्षण करने के लिए एकदम सही है। send-email के समान दो मोड का समर्थन करता है — इनलाइन सामग्री या टेम्पलेट-आधारित (template_uuid)।

पैरामीटर:

  • test_inbox_id (वैकल्पिक): Mailtrap परीक्षण इनबॉक्स आईडी। आवश्यक है जब तक कि MAILTRAP_TEST_INBOX_ID सेट न हो; किसी विशिष्ट इनबॉक्स को लक्षित करने के लिए प्रति कॉल पास करें।
  • from (वैकल्पिक): ईमेल स्ट्रिंग या { email, name? } के रूप में प्रेषक। यदि प्रदान नहीं किया गया है, तो DEFAULT_FROM_EMAIL का उपयोग किया जाता है।
  • to (वैकल्पिक): अल्पविराम से अलग स्ट्रिंग के रूप में प्राप्तकर्ता, या ईमेल स्ट्रिंग / { email, name? } ऑब्जेक्ट की एक सरणी। वैकल्पिक यदि cc या bcc प्रदान किया गया है; to / cc / bcc में से कम से कम एक में प्राप्तकर्ता होना चाहिए।
  • cc (वैकल्पिक): CC प्राप्तकर्ताओं की सरणी (प्रत्येक ईमेल स्ट्रिंग या { email, name? })।
  • bcc (वैकल्पिक): BCC प्राप्तकर्ताओं की सरणी (प्रत्येक ईमेल स्ट्रिंग या { email, name? })।
  • subject (सशर्त): ईमेल विषय पंक्ति। इनलाइन प्रेषण के लिए आवश्यक; जब template_uuid सेट हो तो छोड़ दिया जाना चाहिए।
  • text (सशर्त): ईमेल मुख्य भाग पाठ। इनलाइन प्रेषण के लिए आवश्यक (html के साथ या उसके बजाय); जब template_uuid सेट हो तो छोड़ दिया जाना चाहिए।
  • html (सशर्त): ईमेल मुख्य भाग का HTML संस्करण। इनलाइन प्रेषण के लिए आवश्यक (text के साथ या उसके बजाय); जब template_uuid सेट हो तो छोड़ दिया जाना चाहिए।
  • category (वैकल्पिक): ट्रैकिंग के लिए ईमेल श्रेणी। जब template_uuid सेट हो तो छोड़ दिया जाना चाहिए।
  • template_uuid (वैकल्पिक): इनलाइन सामग्री के बजाय Mailtrap ईमेल टेम्पलेट का उपयोग करें। सेट होने पर, subject / text / html / category को छोड़ दिया जाना चाहिए।
  • template_variables (वैकल्पिक): template_uuid द्वारा संदर्भित टेम्पलेट में प्रतिस्थापित चरों का ऑब्जेक्ट। केवल template_uuid के साथ अनुमत है।

[!NOTE] सैंडबॉक्स टूल के लिए, टूल कॉल में test_inbox_id प्रदान करें या MAILTRAP_TEST_INBOX_ID पर्यावरण चर सेट करें। आप test_inbox_id पास करके प्रति कॉल इनबॉक्स के बीच स्विच कर सकते हैं।

get-sandbox-messages

आपके Mailtrap परीक्षण इनबॉक्स से संदेशों की एक सूची प्राप्त करता है। परीक्षण के दौरान आपके सैंडबॉक्स में कौन से ईमेल प्राप्त हुए हैं, इसकी जाँच करने के लिए उपयोगी है।

पैरामीटर:

  • page (वैकल्पिक): पृष्ठांकन के लिए पृष्ठ संख्या (न्यूनतम: 1)
  • last_id (वैकल्पिक): अंतिम संदेश आईडी का उपयोग करके पृष्ठांकन। निर्दिष्ट संदेश आईडी के बाद के संदेश लौटाता है (न्यूनतम: 1)
  • search (वैकल्पिक): संदेशों को फ़िल्टर करने के लिए खोज क्वेरी

[!NOTE] सभी पैरामीटर वैकल्पिक हैं। यदि कोई प्रदान नहीं किया गया है, तो इनबॉक्स से संदेशों का पहला पृष्ठ लौटाया जाएगा। पारंपरिक पृष्ठांकन के लिए page, कर्सर-आधारित पृष्ठांकन के लिए last_id, या सामग्री द्वारा संदेशों को फ़िल्टर करने के लिए search का उपयोग करें।

show-sandbox-email-message

आपके Mailtrap परीक्षण इनबॉक्स से किसी विशिष्ट ईमेल संदेश की विस्तृत जानकारी और सामग्री दिखाता है, जिसमें HTML और पाठ मुख्य भाग सामग्री शामिल है।

पैरामीटर:

  • message_id (आवश्यक): पुनर्प्राप्त करने के लिए सैंडबॉक्स ईमेल संदेश की आईडी

[!NOTE] संदेशों की सूची और उनकी आईडी प्राप्त करने के लिए पहले get-sandbox-messages का उपयोग करें, फिर किसी विशिष्ट संदेश की पूरी सामग्री देखने के लिए इस टूल का उपयोग करें।

get-sandbox-project

आईडी द्वारा एक सैंडबॉक्स प्रोजेक्ट प्राप्त करें, जिसमें उसके इनबॉक्स और ईमेल गणना शामिल हैं।

पैरामीटर:

  • project_id (आवश्यक): प्राप्त करने के लिए प्रोजेक्ट की आईडी

update-sandbox-project

किसी मौजूदा सैंडबॉक्स प्रोजेक्ट का नाम बदलें।

पैरामीटर:

  • project_id (आवश्यक): अपडेट करने के लिए प्रोजेक्ट की आईडी
  • name (आवश्यक): प्रोजेक्ट के लिए नया नाम (2–100 वर्ण)

list-sandboxes

सभी प्रोजेक्ट्स में API टोकन के लिए सुलभ प्रत्येक सैंडबॉक्स को सूचीबद्ध करें।

पैरामीटर:

  • कोई पैरामीटर आवश्यक नहीं

mark-sandbox-as-read

सैंडबॉक्स के सभी संदेशों को पढ़े हुए के रूप में चिह्नित करें।

पैरामीटर:

  • sandbox_id (आवश्यक): कार्रवाई करने के लिए सैंडबॉक्स की आईडी

reset-sandbox-credentials

सैंडबॉक्स के लिए SMTP क्रेडेंशियल रीसेट करें। नया उपयोगकर्ता नाम/पासवर्ड लौटाता है।

पैरामीटर:

  • sandbox_id (आवश्यक): कार्रवाई करने के लिए सैंडबॉक्स की आईडी

enable-sandbox-email-address

सैंडबॉक्स के लिए ईमेल-द्वारा-प्राप्ति पता सक्षम करें (उस Mailtrap पते को चालू करता है जो SMTP के माध्यम से सैंडबॉक्स में संदेश वितरित करता है)।

पैरामीटर:

  • sandbox_id (आवश्यक): कार्रवाई करने के लिए सैंडबॉक्स की आईडी

reset-sandbox-email-address

सैंडबॉक्स के लिए एक नया ईमेल-द्वारा-प्राप्ति पता उत्पन्न करें।

पैरामीटर:

  • sandbox_id (आवश्यक): कार्रवाई करने के लिए सैंडबॉक्स की आईडी

forward-sandbox-message

किसी सैंडबॉक्स संदेश को किसी बाहरी ईमेल पते पर अग्रेषित करें। आपके मासिक अग्रेषण कोटे में गिना जाता है।

पैरामीटर:

  • sandbox_id (वैकल्पिक): सैंडबॉक्स आईडी। MAILTRAP_SANDBOX_ID पर वापस आता है।
  • message_id (आवश्यक): अग्रेषित करने के लिए सैंडबॉक्स संदेश की आईडी
  • email (आवश्यक): वह ईमेल पता जिस पर संदेश अग्रेषित करना है

update-sandbox-message

किसी सैंडबॉक्स संदेश को पढ़े हुए या बिना पढ़े के रूप में चिह्नित करें।

पैरामीटर:

  • sandbox_id (वैकल्पिक): सैंडबॉक्स आईडी। MAILTRAP_SANDBOX_ID पर वापस आता है।
  • message_id (आवश्यक): अपडेट करने के लिए सैंडबॉक्स संदेश की आईडी
  • is_read (आवश्यक): true पढ़े हुए के रूप में चिह्नित करता है, false बिना पढ़े के रूप में चिह्नित करता है

delete-sandbox-message

एकल सैंडबॉक्स संदेश हटाएं।

पैरामीटर:

  • sandbox_id (वैकल्पिक): सैंडबॉक्स आईडी। MAILTRAP_SANDBOX_ID पर वापस आता है।
  • message_id (आवश्यक): हटाने के लिए सैंडबॉक्स संदेश की आईडी

get-sandbox-message-spam-score

सैंडबॉक्स संदेश के लिए SpamAssassin स्पैम रिपोर्ट प्राप्त करें (स्कोर, नियम, पूर्ण रिपोर्ट)। show-sandbox-email-message पर include_spam_report: true का स्टैंडअलोन विकल्प।

पैरामीटर:

  • sandbox_id (वैकल्पिक): सैंडबॉक्स आईडी। MAILTRAP_SANDBOX_ID पर वापस आता है।
  • message_id (आवश्यक): सैंडबॉक्स संदेश की आईडी

get-sandbox-message-html-analysis

सैंडबॉक्स संदेश के लिए HTML विश्लेषण रिपोर्ट प्राप्त करें (क्लाइंट संगतता स्कोर, समस्याग्रस्त तत्व)। show-sandbox-email-message पर include_html_analysis: true का स्टैंडअलोन विकल्प।

पैरामीटर:

  • sandbox_id (वैकल्पिक): सैंडबॉक्स आईडी। MAILTRAP_SANDBOX_ID पर वापस आता है।
  • message_id (आवश्यक): सैंडबॉक्स संदेश की आईडी

get-sandbox-message-headers

सैंडबॉक्स संदेश के लिए पार्स किए गए मेल हेडर प्राप्त करें।

पैरामीटर:

  • sandbox_id (वैकल्पिक): सैंडबॉक्स आईडी। MAILTRAP_SANDBOX_ID पर वापस आता है।
  • message_id (आवश्यक): सैंडबॉक्स संदेश की आईडी

get-sandbox-message-html

सैंडबॉक्स संदेश का रेंडर किया गया HTML मुख्य भाग प्राप्त करें।

पैरामीटर:

  • sandbox_id (वैकल्पिक): सैंडबॉक्स आईडी। MAILTRAP_SANDBOX_ID पर वापस आता है।
  • message_id (आवश्यक): सैंडबॉक्स संदेश की आईडी

get-sandbox-message-text

सैंडबॉक्स संदेश का सादा-पाठ मुख्य भाग प्राप्त करें।

पैरामीटर:

  • sandbox_id (वैकल्पिक): सैंडबॉक्स आईडी। MAILTRAP_SANDBOX_ID पर वापस आता है।
  • message_id (आवश्यक): सैंडबॉक्स संदेश की आईडी

get-sandbox-message-raw

सैंडबॉक्स संदेश के लिए कच्चा, MIME-स्वरूपित संदेश (हेडर + मुख्य भाग) प्राप्त करें।

पैरामीटर:

  • sandbox_id (वैकल्पिक): सैंडबॉक्स आईडी। MAILTRAP_SANDBOX_ID पर वापस आता है।
  • message_id (आवश्यक): सैंडबॉक्स संदेश की आईडी

get-sandbox-message-eml

EML फ़ाइल पेलोड के रूप में रेंडर किया गया संदेश प्राप्त करें (टिकट से अटैच करने या किसी अन्य मेल क्लाइंट में आयात करने के लिए उपयुक्त)।

पैरामीटर:

  • sandbox_id (वैकल्पिक): सैंडबॉक्स आईडी। MAILTRAP_SANDBOX_ID पर वापस आता है।
  • message_id (आवश्यक): सैंडबॉक्स संदेश की आईडी

get-sandbox-message-html-source

सैंडबॉक्स संदेश का अनरेंडर किया गया HTML स्रोत प्राप्त करें (किसी भी Mailtrap-पक्ष रूपांतरण जैसे CID-लिंक पुनर्लेखन से पहले का HTML)।

पैरामीटर:

  • sandbox_id (वैकल्पिक): सैंडबॉक्स आईडी। MAILTRAP_SANDBOX_ID पर वापस आता है।
  • message_id (आवश्यक): सैंडबॉक्स संदेश की आईडी

list-sandbox-attachments

सैंडबॉक्स संदेश पर सभी अनुलग्नकों को सूचीबद्ध करें (फ़ाइल नाम, सामग्री प्रकार, आकार, डाउनलोड पथ)।

पैरामीटर:

  • sandbox_id (वैकल्पिक): सैंडबॉक्स आईडी। MAILTRAP_SANDBOX_ID पर वापस आता है।
  • message_id (आवश्यक): सैंडबॉक्स संदेश की आईडी

get-sandbox-attachment

एकल अनुलग्नक के लिए मेटाडेटा और डाउनलोड URL प्राप्त करें।

पैरामीटर:

  • sandbox_id (वैकल्पिक): सैंडबॉक्स आईडी। MAILTRAP_SANDBOX_ID पर वापस आता है।
  • message_id (आवश्यक): उस सैंडबॉक्स संदेश की आईडी जिसमें अनुलग्नक है
  • attachment_id (आवश्यक): प्राप्त करने के लिए अनुलग्नक की आईडी

list-sending-domains

प्रेषक डोमेन और उनकी DNS सत्यापन स्थिति सूचीबद्ध करें।

पैरामीटर:

  • कोई पैरामीटर आवश्यक नहीं

get-sending-domain

आईडी द्वारा एक प्रेषक डोमेन और उसकी सत्यापन स्थिति (DNS रिकॉर्ड सहित) प्राप्त करें। include_setup_instructions को true पर सेट करके वैकल्पिक रूप से DNS सेटअप निर्देश शामिल करें।

पैरामीटर:

  • sending_domain_id (आवश्यक): प्रेषक डोमेन आईडी
  • include_setup_instructions (वैकल्पिक): यदि true, तो प्रतिक्रिया में DNS सेटअप निर्देश जोड़ें। डिफ़ॉल्ट: false

create-sending-domain

एक नया प्रेषक डोमेन बनाएं। निर्माण के बाद, डोमेन को सत्यापित करने के लिए DNS रिकॉर्ड जोड़ें (रिकॉर्ड देखने के लिए include_setup_instructions: true के साथ get-sending-domain का उपयोग करें)।

पैरामीटर:

  • domain_name (आवश्यक): डोमेन नाम (जैसे example.com)

delete-sending-domain

एक प्रेषक डोमेन हटाएं।

पैरामीटर:

  • sending_domain_id (आवश्यक): हटाने के लिए प्रेषक डोमेन आईडी

send-sending-domain-setup-instructions

किसी प्रेषक डोमेन के लिए DNS सेटअप निर्देश किसी दिए गए पते पर ईमेल करें। किसी DevOps टीममेट को DNS रिकॉर्ड अग्रेषित करने के लिए उपयोगी।

पैरामीटर:

  • sending_domain_id (आवश्यक): प्रेषक डोमेन आईडी
  • email (आवश्यक): वह ईमेल पता जिस पर DNS सेटअप निर्देश भेजने हैं

list-suppressions

दमन सूचीबद्ध करें या खोजें (हार्ड बाउंस, स्पैम शिकायतें, सदस्यता समाप्ति, मैन्युअल आयात)। प्रति कॉल अधिकतम 1000 परिणाम लौटाता है।

पैरामीटर:

  • email (वैकल्पिक): ईमेल फ़िल्टर। केवल इस पते से मेल खाने वाले दमन लौटाता है।

delete-suppression

किसी दमन को उसकी ID द्वारा हटाएँ। Mailtrap इस ईमेल पर डिलीवरी फिर से शुरू कर देगा जब तक कि यह दोबारा दबाया न जाए।

पैरामीटर:

  • suppression_id (आवश्यक): हटाए जाने वाले दमन की ID

list-webhooks

खाते के लिए कॉन्फ़िगर किए गए सभी वेबहुक की सूची बनाएँ। पूर्ण वेबहुक रिकॉर्ड JSON के रूप में लौटाता है।

पैरामीटर:

  • कोई पैरामीटर आवश्यक नहीं

get-webhook

ID द्वारा एकल वेबहुक प्राप्त करें। पूर्ण वेबहुक रिकॉर्ड JSON के रूप में लौटाता है। नोट: signing_secret यहाँ नहीं लौटाया जाता है — यह केवल create-webhook से प्रतिक्रिया में उपलब्ध होता है।

पैरामीटर:

  • webhook_id (आवश्यक): प्राप्त किए जाने वाले वेबहुक की ID

create-webhook

एक वेबहुक बनाएँ। प्रतिक्रिया में वेबहुक पेलोड हस्ताक्षर सत्यापित करने के लिए एक signing_secret शामिल है — यह रहस्य केवल निर्माण पर लौटाया जाता है, इसलिए इसे अभी संग्रहीत करें। यदि आप इसे खो देते हैं, तो वेबहुक को पुनः बनाएँ।

पैरामीटर:

  • url (आवश्यक): URL जिस पर Mailtrap वेबहुक ईवेंट POST करेगा
  • webhook_type (आवश्यक): "email_sending" या "audit_log"
  • active (वैकल्पिक, बूलियन): डिफ़ॉल्ट true है
  • payload_format (वैकल्पिक): "json" या "jsonlines"। डिफ़ॉल्ट "json" है
  • sending_stream (वैकल्पिक, केवल email_sending): "transactional" या "bulk"
  • event_types (वैकल्पिक, केवल email_sending): delivery, soft_bounce, bounce, suspension, unsubscribe, open, spam_complaint, click, reject की सरणी
  • domain_id (वैकल्पिक, केवल email_sending): इस वेबहुक को स्कोप करने के लिए प्रेषण डोमेन ID

update-webhook

किसी वेबहुक के परिवर्तनीय फ़ील्ड अपडेट करें। webhook_type, sending_stream, और domain_id को निर्माण के बाद बदला नहीं जा सकता — यदि आपको उन्हें बदलने की आवश्यकता है तो वेबहुक को पुनः बनाएँ।

पैरामीटर:

  • webhook_id (आवश्यक): अपडेट किए जाने वाले वेबहुक की ID
  • url (वैकल्पिक): नया वेबहुक URL
  • active (वैकल्पिक, बूलियन): वेबहुक सक्षम या अक्षम करें
  • payload_format (वैकल्पिक): "json" या "jsonlines"
  • event_types (वैकल्पिक, केवल email_sending): delivery, soft_bounce, bounce, suspension, unsubscribe, open, spam_complaint, click, reject की सरणी

delete-webhook

किसी वेबहुक को उसकी ID द्वारा स्थायी रूप से हटाएँ। हटाए गए वेबहुक रिकॉर्ड को लौटाता है।

पैरामीटर:

  • webhook_id (आवश्यक): हटाए जाने वाले वेबहुक की ID

get-contact

ID या ईमेल द्वारा संपर्क प्राप्त करें। पूर्ण संपर्क रिकॉर्ड (सूची सदस्यता, स्थिति, कस्टम फ़ील्ड) लौटाता है।

पैरामीटर:

  • contact_identifier (आवश्यक): संपर्क ID या ईमेल पता

create-contact

एक नया संपर्क बनाएँ।

पैरामीटर:

  • email (आवश्यक): ईमेल पता
  • fields (वैकल्पिक): मर्ज टैग द्वारा कुंजीबद्ध कस्टम फ़ील्ड मान (जैसे first_name)। स्ट्रिंग, संख्या, या बूलियन मान
  • list_ids (वैकल्पिक): इस संपर्क को सब्सक्राइब करने के लिए संपर्क सूचियों की ID
  • unsubscribed (वैकल्पिक, बूलियन): संपर्क को unsubscribed स्थिति में बनाएँ

update-contact

ID या ईमेल द्वारा पहचाने गए मौजूदा संपर्क को अपडेट करें। list_ids संपर्क के पूर्ण सदस्यता सेट को बदल देता है; list_ids_included/list_ids_excluded बाकी को परेशान किए बिना जोड़ते/हटाते हैं।

पैरामीटर:

  • contact_identifier (आवश्यक): संपर्क ID या ईमेल
  • email (वैकल्पिक): नया ईमेल पता
  • fields (वैकल्पिक): मर्ज टैग द्वारा कुंजीबद्ध कस्टम फ़ील्ड मान
  • list_ids (वैकल्पिक): सदस्यता सेट को इस सटीक सूची से बदलें
  • list_ids_included (वैकल्पिक): जोड़ने के लिए सूची IDs (योगात्मक)
  • list_ids_excluded (वैकल्पिक): हटाने के लिए सूची IDs
  • unsubscribed (वैकल्पिक, बूलियन): unsubscribed (सत्य) या subscribed (असत्य) पर सेट करें

delete-contact

ID या ईमेल द्वारा किसी संपर्क को स्थायी रूप से हटाएँ। जब API एक के साथ प्रतिक्रिया देता है तो हटाए गए संपर्क रिकॉर्ड को लौटाता है; अन्यथा एक पुष्टिकरण पेलोड लौटाता है।

पैरामीटर:

  • contact_identifier (आवश्यक): संपर्क ID या ईमेल

create-contact-event

किसी संपर्क (ID या ईमेल द्वारा) के विरुद्ध संपर्क ईवेंट रिकॉर्ड करें। संपर्क-सूची स्वचालन को ट्रिगर करने के लिए उपयोग किया जाता है।

पैरामीटर:

  • contact_identifier (आवश्यक): संपर्क ID या ईमेल
  • name (आवश्यक): ईवेंट नाम (स्वचालन ट्रिगर से मेल खाता है)
  • params (आवश्यक): मनमाने कुंजी/मान जोड़े का ऑब्जेक्ट। मान स्ट्रिंग, संख्या, बूलियन, या नल हो सकते हैं

list-contact-lists

खाते के लिए सभी संपर्क सूचियों की सूची बनाएँ।

पैरामीटर:

  • कोई पैरामीटर आवश्यक नहीं

get-contact-list

ID द्वारा संपर्क सूची प्राप्त करें।

पैरामीटर:

  • list_id (आवश्यक): प्राप्त की जाने वाली संपर्क सूची की ID

create-contact-list

एक नई संपर्क सूची बनाएँ।

पैरामीटर:

  • name (आवश्यक): नई सूची के लिए नाम

update-contact-list

किसी मौजूदा संपर्क सूची का नाम बदलें।

पैरामीटर:

  • list_id (आवश्यक): संपर्क सूची की ID
  • name (आवश्यक): सूची के लिए नया नाम

delete-contact-list

ID द्वारा किसी संपर्क सूची को स्थायी रूप से हटाएँ।

पैरामीटर:

  • list_id (आवश्यक): हटाई जाने वाली संपर्क सूची की ID

list-contact-fields

खाते के लिए सभी संपर्क फ़ील्ड परिभाषाओं की सूची बनाएँ।

पैरामीटर:

  • कोई पैरामीटर आवश्यक नहीं

get-contact-field

ID द्वारा संपर्क फ़ील्ड परिभाषा प्राप्त करें।

पैरामीटर:

  • field_id (आवश्यक): संपर्क फ़ील्ड की ID

create-contact-field

एक नई संपर्क फ़ील्ड परिभाषा बनाएँ। merge_tag खाते के भीतर अद्वितीय होना चाहिए और टेम्पलेट चर में प्लेसहोल्डर नाम के रूप में उपयोग किया जाता है।

पैरामीटर:

  • name (आवश्यक): प्रदर्शन नाम (जैसे "पहला नाम")
  • merge_tag (आवश्यक): अद्वितीय प्लेसहोल्डर नाम (जैसे first_name)
  • data_type (आवश्यक): text, number, boolean, date में से एक

update-contact-field

संपर्क फ़ील्ड परिभाषा अपडेट करें। name, merge_tag, और data_type का कोई भी संयोजन बदला जा सकता है।

पैरामीटर:

  • field_id (आवश्यक): संपर्क फ़ील्ड की ID
  • name (वैकल्पिक): नया प्रदर्शन नाम
  • merge_tag (वैकल्पिक): नया मर्ज टैग (अद्वितीय रहना चाहिए)
  • data_type (वैकल्पिक): text, number, boolean, date में से एक

delete-contact-field

ID द्वारा संपर्क फ़ील्ड परिभाषा को स्थायी रूप से हटाएँ।

पैरामीटर:

  • field_id (आवश्यक): हटाए जाने वाले संपर्क फ़ील्ड की ID

create-contact-import

थोक में संपर्क आयात करें। एक आयात कार्य रिकॉर्ड लौटाता है; get-contact-import के साथ इसकी स्थिति की जाँच करें।

पैरामीटर:

  • contacts (आवश्यक): संपर्क प्रविष्टियों की सरणी। प्रत्येक प्रविष्टि की आवश्यकता:
    • email (आवश्यक): संपर्क ईमेल पता
    • fields (वैकल्पिक): मर्ज टैग द्वारा कुंजीबद्ध कस्टम फ़ील्ड मान (स्ट्रिंग या संख्या मान)
    • list_ids_included (वैकल्पिक): संपर्क जोड़ने के लिए सूची IDs
    • list_ids_excluded (वैकल्पिक): संपर्क हटाने के लिए सूची IDs

get-contact-import

संपर्क आयात कार्य की स्थिति (बनाया/शुरू/समाप्त/विफल) प्राप्त करें, जिसमें बनाए गए/अपडेट किए गए/सीमा से अधिक की गणना शामिल है।

पैरामीटर:

  • import_id (आवश्यक): संपर्क आयात कार्य की ID

create-contact-export

AND-संयुक्त फ़िल्टर के सेट से मेल खाने वाले संपर्कों का निर्यात करें। एक निर्यात कार्य रिकॉर्ड लौटाता है; एक बार status के finished हो जाने पर डाउनलोड URL प्राप्त करने के लिए get-contact-export के साथ स्थिति की जाँच करें।

पैरामीटर:

  • filters (आवश्यक): फ़िल्टर ऑब्जेक्ट की सरणी। प्रत्येक में है:
    • name (आवश्यक): फ़िल्टर करने के लिए फ़ील्ड (list_id, subscription_status, email, आदि)
    • operator (आवश्यक): equal, not_equal, contains, not_contains, is_empty, is_not_empty में से एक
    • value (आवश्यक): तुलना मान (स्ट्रिंग, संख्या, बूलियन, या सरणी)

get-contact-export

संपर्क निर्यात कार्य की स्थिति प्राप्त करें। एक बार status के finished हो जाने पर, url फ़ील्ड में CSV डाउनलोड लिंक होता है।

पैरामीटर:

  • export_id (आवश्यक): संपर्क निर्यात कार्य की ID

list-accounts

वर्तमान API टोकन जिन Mailtrap खातों तक पहुँच सकता है, उनकी सूची बनाएँ, प्रत्येक खाते के पहुँच स्तरों के साथ।

पैरामीटर:

  • कोई पैरामीटर आवश्यक नहीं

get-billing-usage

खाते के लिए वर्तमान बिलिंग चक्र उपयोग प्राप्त करें: प्रेषण और परीक्षण योजनाएँ, सीमाएँ, और वर्तमान गणनाएँ।

पैरामीटर:

  • कोई पैरामीटर आवश्यक नहीं

list-account-accesses

खाते के लिए खाता पहुँच (उपयोगकर्ता, आमंत्रण, API टोकन) की सूची बनाएँ। वैकल्पिक फ़िल्टर परिणाम को विशिष्ट संसाधनों तक सीमित करते हैं। खाता व्यवस्थापक/स्वामी अनुमतियों की आवश्यकता है।

पैरामीटर:

  • domain_uuids (वैकल्पिक): प्रेषण डोमेन UUID द्वारा फ़िल्टर करें (स्ट्रिंग की सरणी)
  • inbox_ids (वैकल्पिक): सैंडबॉक्स इनबॉक्स IDs द्वारा फ़िल्टर करें (स्ट्रिंग की सरणी)
  • project_ids (वैकल्पिक): सैंडबॉक्स प्रोजेक्ट IDs द्वारा फ़िल्टर करें (स्ट्रिंग की सरणी)

remove-account-access

ID द्वारा खाता पहुँच हटाएँ। User विनिर्देशकों के लिए यह उनकी अनुमतियाँ रद्द करता है; Invite या ApiToken विनिर्देशकों के लिए यह विनिर्देशक को पूरी तरह से हटा देता है। व्यवस्थापक/स्वामी की आवश्यकता है।

पैरामीटर:

  • account_access_id (आवश्यक): हटाए जाने वाले पहुँच रिकॉर्ड की ID

get-permission-resources

वे सभी संसाधन (इनबॉक्स, प्रोजेक्ट, डोमेन, बिलिंग, खाता) प्राप्त करें जिन तक API टोकन की व्यवस्थापक पहुँच है, पदानुक्रम द्वारा नेस्टेड।

पैरामीटर:

  • कोई पैरामीटर आवश्यक नहीं

bulk-update-permissions

एकल खाता पहुँच के लिए थोक में अनुमतियाँ बनाएँ, अपडेट करें, या नष्ट करें। मौजूदा (resource_type, resource_id) जोड़े अपडेट किए जाते हैं; नए बनाए जाते हैं। किसी प्रविष्टि को हटाने के लिए उस पर destroy: true सेट करें।

पैरामीटर:

  • account_access_id (आवश्यक): लक्ष्य खाता पहुँच ID
  • permissions (आवश्यक): अनुमति प्रविष्टियों की सरणी। प्रत्येक में है:
    • resource_id (आवश्यक): संसाधन ID (संख्या या स्ट्रिंग)
    • resource_type (आवश्यक): account, project, inbox, domain, billing में से एक
    • access_level (वैकल्पिक): admin/100 या viewer/10
    • destroy (वैकल्पिक, बूलियन): जब सत्य हो, तो इस अनुमति को बनाने/अपडेट करने के बजाय हटा देता है

list-api-tokens

खाते के लिए सभी API टोकन की सूची बनाएँ।

पैरामीटर:

  • कोई पैरामीटर आवश्यक नहीं

create-api-token

एक नया API टोकन बनाएँ। प्रतिक्रिया में गुप्त token मान शामिल है — यह एकमात्र समय है जब पूर्ण टोकन लौटाया जाता है, इसलिए इसे तुरंत संग्रहीत करें। यदि आप इसे खो देते हैं, तो टोकन को पुनः बनाएँ।

पैरामीटर:

  • name (आवश्यक): टोकन के लिए प्रदर्शन नाम
  • resources (वैकल्पिक): टोकन को स्कोप करने के लिए संसाधन अनुमतियों की सरणी। प्रत्येक प्रविष्टि में है:
    • resource_type (आवश्यक): account, project, inbox, domain, billing में से एक
    • resource_id (आवश्यक): संसाधन की ID
    • access_level (आवश्यक): 100 (व्यवस्थापक) या 10 (दर्शक)

get-api-token

ID द्वारा API टोकन प्राप्त करें। केवल मेटाडेटा लौटाता है — गुप्त टोकन मान यहाँ नहीं लौटाया जाता है (केवल create-api-token / reset-api-token से)।

पैरामीटर:

  • api_token_id (आवश्यक): API टोकन की ID

reset-api-token

ID द्वारा API टोकन रीसेट (घुमाएँ) करें। प्रतिक्रिया में नया गुप्त token मान शामिल है — केवल इस कॉल पर लौटाया जाता है, इसलिए इसे तुरंत संग्रहीत करें। पिछला टोकन अमान्य हो जाता है।

पैरामीटर:

  • api_token_id (आवश्यक): रीसेट किए जाने वाले API टोकन की ID

delete-api-token

ID द्वारा API टोकन को स्थायी रूप से हटाएँ। हटाने के बाद टोकन अब प्रमाणित नहीं हो सकता।

पैरामीटर:

  • api_token_id (आवश्यक): हटाए जाने वाले API टोकन की ID

list-sub-accounts

संगठन में उप-खातों की सूची बनाएँ। MAILTRAP_ORGANIZATION_ID env var और उप-खाता प्रबंधन अनुमतियों की आवश्यकता है।

पैरामीटर:

  • कोई पैरामीटर आवश्यक नहीं

create-sub-account

संगठन के अंतर्गत एक नया उप-खाता बनाएँ। इसके लिए MAILTRAP_ORGANIZATION_ID env var और उप-खाता प्रबंधन अनुमतियों की आवश्यकता है।

पैरामीटर:

  • name (आवश्यक): नए उप-खाते के लिए प्रदर्शन नाम

विकास

  1. रिपॉजिटरी क्लोन करें:
git clone https://github.com/mailtrap/mailtrap-mcp.git
cd mailtrap-mcp
  1. निर्भरताएँ स्थापित करें:
npm install

Claude Desktop या Cursor के साथ कॉन्फ़िगरेशन

[!TIP] कॉन्फ़िग फ़ाइल का स्थान सेटअप अनुभाग में देखें।

निम्नलिखित कॉन्फ़िगरेशन जोड़ें:

{
  "mcpServers": {
    "mailtrap": {
      "command": "node",
      "args": ["/path/to/mailtrap-mcp/dist/index.js"],
      "env": {
        "MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
        "DEFAULT_FROM_EMAIL": "[email protected]",
        "MAILTRAP_ACCOUNT_ID": "your_account_id",
        "MAILTRAP_TEST_INBOX_ID": "your_test_inbox_id"
      }
    }
  }
}

यदि आप Node.js प्रबंधित करने के लिए asdf का उपयोग कर रहे हैं, तो आपको निष्पादन योग्य का पूर्ण पथ उपयोग करना चाहिए:

(Mac के लिए उदाहरण)

{
  "mcpServers": {
    "mailtrap": {
      "command": "/Users/<username>/.asdf/shims/node",
      "args": ["/path/to/mailtrap-mcp/dist/index.js"],
      "env": {
        "PATH": "/Users/<username>/.asdf/shims:/usr/bin:/bin",
        "ASDF_DIR": "/opt/homebrew/opt/asdf/libexec",
        "ASDF_DATA_DIR": "/Users/<username>/.asdf",
        "ASDF_NODEJS_VERSION": "20.6.1",
        "MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
        "DEFAULT_FROM_EMAIL": "[email protected]",
        "MAILTRAP_ACCOUNT_ID": "your_account_id",
        "MAILTRAP_TEST_INBOX_ID": "your_test_inbox_id"
      }
    }
  }
}

VS Code

[!TIP] कॉन्फ़िग फ़ाइल का स्थान सेटअप अनुभाग में देखें।

{
  "mcp": {
    "servers": {
      "mailtrap": {
        "command": "node",
        "args": ["/path/to/mailtrap-mcp/dist/index.js"],
        "env": {
          "MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
          "DEFAULT_FROM_EMAIL": "[email protected]",
          "MAILTRAP_ACCOUNT_ID": "your_account_id",
          "MAILTRAP_TEST_INBOX_ID": "your_test_inbox_id"
        }
      }
    }
  }
}

परीक्षण

वास्तविक Mailtrap के विरुद्ध उपकरण चलाना

किसी उपकरण को वास्तविक Mailtrap खाते के विरुद्ध एंड-टू-एंड परीक्षण करने के दो तरीके हैं: इंटरैक्टिव अन्वेषण के लिए MCP Inspector ब्राउज़र UI, या शेल से एक-बार कॉल के लिए इसका CLI मोड।

दोनों के लिए पहले बंडल बनाना आवश्यक है:

npm run build

और आपके शेल में MAILTRAP_API_TOKEN + MAILTRAP_ACCOUNT_ID निर्यात होने चाहिए (mcp:cli स्क्रिप्ट दोनों को स्पॉन किए गए सर्वर पर अग्रेषित करती है)।

ब्राउज़र UI

npm run dev

Inspector http://localhost:6274 जैसा URL प्रिंट करता है। इसे खोलें, Tools टैब पर स्विच करें, एक उपकरण चुनें (जैसे get-template), पैरामीटर JSON के रूप में भरें, और Run दबाएँ। Mailtrap प्रतिक्रिया नीचे पैनल में दिखाई देगी।

CLI

UI के बिना एक-बार कॉल के लिए npm run mcp:cli का उपयोग करें। Inspector के CLI फ़्लैग को -- के बाद पास करें ताकि npm उन्हें वैसे ही अग्रेषित करे:

# List all tools
npm run mcp:cli -- --method tools/list

# Call a tool — flags after the `--`
npm run mcp:cli -- \
  --method tools/call \
  --tool-name get-template \
  --tool-arg template_id=12345

# Multiple --tool-arg flags for tools with several params
npm run mcp:cli -- \
  --method tools/call \
  --tool-name send-sending-domain-setup-instructions \
  --tool-arg sending_domain_id=3938 \
  --tool-arg [email protected]

MCPB सर्वर चलाना

# Run the MCPB server directly
node dist/mcpb-server.js

# Or use the provided binary
mailtrap-mcpb-server

[!TIP] MCP Inspector के साथ विकास के लिए:

npm run dev:mcpb

त्रुटि प्रबंधन

यह सर्वर MCP परंपराओं के अनुरूप संरचित त्रुटि प्रबंधन का उपयोग करता है:

  • VALIDATION_ERROR: इनपुट सत्यापन विफलताएँ
  • CONFIGURATION_ERROR: अनुपलब्ध या अमान्य कॉन्फ़िगरेशन
  • EXECUTION_ERROR: रनटाइम निष्पादन त्रुटियाँ
  • TIMEOUT: संचालन समय समाप्त (डिफ़ॉल्ट 30 सेकंड)

त्रुटियों में कार्रवाई योग्य संदेश शामिल होते हैं और संरचित रूप में लॉग किए जाते हैं।

सुरक्षा

  • Zod स्कीमा के माध्यम से इनपुट सत्यापित
  • पर्यावरण चर सुरक्षित रूप से संभाले गए
  • संचालन पर समय समाप्त सुरक्षा (30 सेकंड)
  • त्रुटि आउटपुट में संवेदनशील विवरण सैनिटाइज़ किए गए

लॉगिंग

स्तरों के साथ संरचित JSON लॉग: INFO, WARN, ERROR, DEBUG।

DEBUG=true सेट करके डीबग लॉगिंग सक्षम करें।

# Example: enable debug logging
DEBUG=true node dist/mcpb-server.js

महत्वपूर्ण: सर्वर लॉग को stderr पर लिखता है ताकि stdout JSON-RPC फ्रेम के लिए आरक्षित रहे। यह होस्ट को इंटरलीव्ड लॉग के कारण JSON पार्सिंग त्रुटियों का सामना करने से रोकता है।

jq का उपयोग करके लॉग विश्लेषण उदाहरण:

# Filter error logs
node dist/mcpb-server.js 2>&1 | jq 'select(.level == "error")'

# Filter debug logs
node dist/mcpb-server.js 2>&1 | jq 'select(.level == "debug")'

समस्या निवारण

सामान्य समस्याएँ:

  1. API टोकन अनुपलब्ध: सुनिश्चित करें कि MAILTRAP_API_TOKEN सेट है
  2. सैंडबॉक्स काम नहीं कर रहा: उपकरण कॉल में test_inbox_id प्रदान करें या MAILTRAP_TEST_INBOX_ID env सेट करें
  3. समय समाप्त त्रुटियाँ: नेटवर्क कनेक्टिविटी और Mailtrap API स्थिति जाँचें
  4. सत्यापन त्रुटियाँ: सुनिश्चित करें कि सभी आवश्यक फ़ील्ड प्रदान किए गए हैं

योगदान

बग रिपोर्ट और पुल अनुरोध GitHub पर स्वागत योग्य हैं। यह परियोजना सहयोग के लिए एक सुरक्षित, स्वागतपूर्ण स्थान होने का इरादा रखती है, और योगदानकर्ताओं से आचार संहिता का पालन करने की अपेक्षा की जाती है।

लाइसेंस

यह पैकेज MIT लाइसेंस की शर्तों के तहत ओपन सोर्स के रूप में उपलब्ध है।

आचार संहिता

Mailtrap परियोजना के कोडबेस, इश्यू ट्रैकर्स, चैट रूम और मेलिंग सूचियों में भाग लेने वाले सभी लोगों से आचार संहिता का पालन करने की अपेक्षा की जाती है।