Mailtrap
ทางการผสานการทำงานกับ Mailtrap Email API
คุณทำอะไรได้บ้างด้วย Mailtrap MCP?
- ส่งอีเมลธุรกรรม — ขอให้ส่งอีเมลผ่าน
send-emailพร้อมเนื้อหาแบบอินไลน์หรือเทมเพลต รวมถึง CC/BCC และตัวแปรที่กำหนดเอง - จัดการเทมเพลตอีเมล — ใช้
list-templates,create-template,update-templateหรือdelete-templateเพื่อดูแลรักษาการออกแบบอีเมลที่ใช้ซ้ำได้ - ตรวจสอบบันทึกการส่ง — ค้นหา
list-email-logsพร้อมตัวกรอง เช่น ผู้รับ สถานะ หรือวันที่ จากนั้นเจาะลึกรายละเอียดด้วยget-email-log-message - ทดสอบอีเมลในแซนด์บ็อกซ์ — ส่งไปยังกล่องจดหมายทดสอบผ่าน
send-sandbox-emailจากนั้นตรวจสอบข้อความด้วยget-sandbox-messagesและshow-sandbox-email-message - วิเคราะห์ประสิทธิภาพการส่ง — รับอัตราการส่งสำเร็จ การตีกลับ และการมีส่วนร่วมผ่าน
get-sending-statsโดยสามารถแยกตามโดเมนหรือหมวดหมู่ได้ - กำหนดค่าโครงสร้างพื้นฐานการส่ง — จัดการ
list-sending-domainsสร้างหรือลบโดเมน และดึงคำแนะนำการตั้งค่า DNS
เอกสาร
MCP Mailtrap Server
เซิร์ฟเวอร์ MCP ที่ให้เครื่องมือสำหรับการส่งและทดสอบในแซนด์บ็อกซ์ผ่าน Mailtrap
ข้อกำหนดเบื้องต้น
ก่อนใช้เซิร์ฟเวอร์ MCP นี้ คุณต้อง:
- สร้างบัญชี Mailtrap
- ยืนยันโดเมนของคุณ
- รับ API token ของคุณจาก การตั้งค่า Mailtrap API
- รับ Account ID ของคุณจาก การจัดการบัญชี Mailtrap
ตัวแปรสภาพแวดล้อมที่จำเป็น:
MAILTRAP_API_TOKEN- จำเป็นสำหรับการทำงานทั้งหมดMAILTRAP_ACCOUNT_ID- จำเป็นสำหรับเทมเพลต สถิติ บันทึกอีเมล การแสดงรายการ/รายละเอียดแซนด์บ็อกซ์ และโดเมนสำหรับส่งอีเมล เป็นทางเลือกเฉพาะสำหรับเครื่องมือส่งอีเมลเท่านั้น (send-email, send-sandbox-email และเครื่องมือ batch-send-*)
ทางเลือก (สามารถส่งเป็นพารามิเตอร์ของเครื่องมือแทนได้):
DEFAULT_FROM_EMAIL- อีเมลผู้ส่งค่าเริ่มต้นเมื่อไม่ได้ระบุfromให้กับ send-email, send-sandbox-email หรือเครื่องมือ batch-send-* (ซึ่งจะเติมค่าในbase.from) เปิดใช้งานการสลับผู้ส่งต่อการเรียกใช้ผ่านพารามิเตอร์fromMAILTRAP_SANDBOX_ID- รหัสแซนด์บ็อกซ์ค่าเริ่มต้นสำหรับเครื่องมือแซนด์บ็อกซ์เมื่อไม่ได้ระบุsandbox_idเปิดใช้งานการสลับระหว่างแซนด์บ็อกซ์ต่อการเรียกใช้ผ่านพารามิเตอร์sandbox_idMAILTRAP_TEST_INBOX_ID- รหัสอินบ็อกซ์ทดสอบค่าเริ่มต้นสำหรับเครื่องมือแซนด์บ็อกซ์เมื่อไม่ได้ระบุtest_inbox_idเปิดใช้งานการสลับระหว่างอินบ็อกซ์ต่อการเรียกใช้ผ่านพารามิเตอร์test_inbox_idชื่อเดิมที่ใช้แทนMAILTRAP_SANDBOX_IDยังคงรองรับเป็นค่า fallbackMAILTRAP_ORGANIZATION_ID- จำเป็นสำหรับเครื่องมือองค์กร (list-sub-accounts,create-sub-account)MAILTRAP_ORGANIZATION_API_TOKEN- API token ระดับองค์กร จำเป็นสำหรับเครื่องมือองค์กร (แยกจากMAILTRAP_API_TOKEN)
การติดตั้งอย่างรวดเร็ว
Smithery CLI
Smithery เป็นตัวติดตั้งและตัวจัดการรีจิสทรีสำหรับเซิร์ฟเวอร์ MCP ที่ทำงานร่วมกับ AI clients ทั้งหมด
npx @smithery/cli install mailtrap
Smithery จัดการการกำหนดค่าไคลเอ็นต์ให้อัตโนมัติและมีขั้นตอนการติดตั้งแบบโต้ตอบ เป็นวิธีที่ง่ายที่สุดในการเริ่มต้นใช้งานเซิร์ฟเวอร์ MCP ในเครื่อง
การตั้งค่า
Claude Desktop
ใช้ MCPB เพื่อติดตั้งเซิร์ฟเวอร์ Mailtrap คุณสามารถหาไฟล์เหล่านี้ได้ใน 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": "your_sender@example.com",
"MAILTRAP_ACCOUNT_ID": "your_account_id",
"MAILTRAP_TEST_INBOX_ID": "your_test_inbox_id"
}
}
}
}
หากคุณใช้ asdf สำหรับจัดการ Node.js คุณต้องใช้พาธแบบสัมบูรณ์ไปยังไฟล์ปฏิบัติการ (ตัวอย่างสำหรับ 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": "your_sender@example.com",
"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
การเปลี่ยนการกำหนดค่าด้วยตนเอง
รันใน Command Palette: 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": "your_sender@example.com",
"MAILTRAP_ACCOUNT_ID": "your_account_id",
"MAILTRAP_TEST_INBOX_ID": "your_test_inbox_id"
}
}
}
}
}
[!TIP] อย่าลืมรีสตาร์ทเซิร์ฟเวอร์ MCP ของคุณหลังจากเปลี่ยนส่วน "env"
MCP Bundle (MCPB)
เพื่อการติดตั้งที่ง่ายดายในโฮสต์ที่รองรับ MCP Bundles คุณสามารถแจกจ่ายไฟล์บันเดิล .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
การดำเนินการนี้จะสร้าง mailtrap-mcp.mcpb โดยใช้รีโพสิทอรี manifest.json และอาร์ติแฟกต์ที่สร้างไว้ใน dist/
การใช้งาน
เมื่อกำหนดค่าเสร็จแล้ว คุณสามารถขอให้ agent ส่งอีเมลและจัดการเทมเพลตได้ เช่น:
การดำเนินการส่งอีเมล:
- "ส่งอีเมลถึง john.doe@example.com ในหัวข้อ 'Meeting Tomorrow' พร้อมการแจ้งเตือนที่เป็นมิตรเกี่ยวกับการประชุมที่กำลังจะมาถึง"
- "ส่งอีเมลถึง sarah@example.com เกี่ยวกับความคืบหน้าของโปรเจกต์ และสำเนาถึงทีมที่ team@example.com"
- "ส่งเทมเพลตต้อนรับ (uuid
b81aabcd-1a1e-41cf-91b6-eca0254b3d96) ไปยัง new@example.com พร้อมตัวแปร{ name: 'Alex' }" - "ส่งอีเมลแซนด์บ็อกซ์ถึง test@example.com ในหัวข้อ 'Test Template' เพื่อดูตัวอย่างว่าอีเมลต้อนรับของเรามีลักษณะอย่างไร"
บันทึกอีเมล (ตรวจสอบการส่ง):
- "แสดงบันทึกอีเมลที่ส่งล่าสุดของฉัน"
- "แสดงบันทึกอีเมลที่ส่งถึง user@example.com"
- "ดึงข้อความบันทึกอีเมลสำหรับ ID abc-123-uuid เพื่อตรวจสอบสถานะการส่ง"
สถิติการส่ง:
- "รับสถิติการส่งสำหรับเดือนมกราคม 2025"
- "แสดงอัตราการส่งสำเร็จแบ่งตามโดเมนสำหรับเดือนที่แล้ว"
- "สถิติอีเมลของฉันตามหมวดหมู่ตั้งแต่ 2025-01-01 ถึง 2025-01-31 คืออะไร?"
การดำเนินการแซนด์บ็อกซ์:
- "รับข้อความทั้งหมดจากอินบ็อกซ์แซนด์บ็อกซ์ของฉัน"
- "แสดงหน้าแรกของข้อความแซนด์บ็อกซ์"
- "ค้นหาข้อความที่มีคำว่า 'test' ในอินบ็อกซ์แซนด์บ็อกซ์ของฉัน"
- "แสดงรายละเอียดของข้อความแซนด์บ็อกซ์ที่มี ID 5159037506"
การดำเนินการเทมเพลต:
- "แสดงเทมเพลตอีเมลทั้งหมดในบัญชี Mailtrap ของฉัน"
- "สร้างเทมเพลตอีเมลใหม่ชื่อ 'Welcome Email' ในหัวข้อ 'Welcome to our platform!'"
- "อัปเดตเทมเพลตที่มี ID 12345 เพื่อเปลี่ยนหัวข้อเป็น 'Updated Welcome Message'"
- "ลบเทมเพลตที่มี ID 67890"
โดเมนสำหรับส่งอีเมล:
- "แสดงโดเมนสำหรับส่งอีเมลของฉัน"
- "รับโดเมนสำหรับส่งอีเมลที่มี ID 3938"
- "สร้างโดเมนสำหรับส่งอีเมลสำหรับ example.com"
- "ลบโดเมนสำหรับส่งอีเมล 3938"
- "รับโดเมนสำหรับส่งอีเมล 3938 พร้อมคำแนะนำการตั้งค่า DNS"
เครื่องมือที่มีอยู่
send-email
ส่งอีเมลธุรกรรมผ่าน Mailtrap รองรับสองโหมดที่ใช้แทนกันได้ — เนื้อหาแบบอินไลน์ (subject + text/html) หรือ อิงตามเทมเพลต (template_uuid)
พารามิเตอร์:
from(ทางเลือก): ผู้ส่งเป็น{ email, name? }(สตริงอีเมลเปล่า ๆ ก็ยอมรับได้ในขณะรันไทม์) หากไม่ระบุ จะใช้DEFAULT_FROM_EMAILto(ทางเลือก): อาร์เรย์ของผู้รับเป็นออบเจกต์{ email, name? }(สตริงอีเมลเปล่า ๆ หรือที่อยู่เดียวที่ไม่ใช่อาร์เรย์ ก็ยอมรับได้ในขณะรันไทม์) เป็นทางเลือกหากระบุccหรือbccไว้ อย่างน้อยหนึ่งในto/cc/bccต้องมีผู้รับcc(ทางเลือก): อาร์เรย์ของผู้รับสำเนา (CC) เป็นออบเจกต์{ email, name? }(สตริงอีเมลเปล่า ๆ ก็ยอมรับได้ในขณะรันไทม์)bcc(ทางเลือก): อาร์เรย์ของผู้รับสำเนาลับ (BCC) เป็นออบเจกต์{ email, name? }(สตริงอีเมลเปล่า ๆ ก็ยอมรับได้ในขณะรันไทม์)subject(ตามเงื่อนไข): หัวข้ออีเมล จำเป็นสำหรับการส่งแบบอินไลน์ ต้องละเว้นเมื่อตั้งค่าtemplate_uuidtext(ตามเงื่อนไข): เนื้อความอีเมลแบบข้อความ จำเป็น (ควบคู่หรือแทนhtml) สำหรับการส่งแบบอินไลน์ ต้องละเว้นเมื่อตั้งค่าtemplate_uuidhtml(ตามเงื่อนไข): เวอร์ชัน HTML ของเนื้อความอีเมล จำเป็น (ควบคู่หรือแทนtext) สำหรับการส่งแบบอินไลน์ ต้องละเว้นเมื่อตั้งค่าtemplate_uuidcategory(ทางเลือก): หมวดหมู่อีเมลสำหรับการติดตามและวิเคราะห์ ต้องละเว้นเมื่อตั้งค่าtemplate_uuidtemplate_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 เข้ากับแต่ละคำขอแล้ว
พารามิเตอร์:
base(ทางเลือก): ออบเจกต์ที่มีฟิลด์ที่ใช้ร่วมกันทั่วทั้งชุดfrom(ทางเลือก): ผู้ส่งเป็น{ email, name? }(สตริงอีเมลเปล่า ๆ ก็ยอมรับได้ในขณะรันไทม์) ตกไปใช้DEFAULT_FROM_EMAILreply_to(ทางเลือก): ที่อยู่ตอบกลับ (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
ส่งอีเมลจำนวนมากเป็นชุดผ่าน bulk-stream API ของ Mailtrap รูปแบบ base + requests[], การตรวจสอบ และกฎอินไลน์กับเทมเพลตเหมือนกับ batch-send-transactional-email — ข้อแตกต่างเพียงอย่างเดียวคือเครื่องมือนี้ส่งคำขอผ่าน bulk endpoint แทน transactional endpoint ดูพารามิเตอร์ด้านบน
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_thanclient_ip/sending_ip(ทางเลือก): กรองตาม IP; ใช้กับ*_operator: equal, not_equal, contain, not_containemail_service_provider_response(ทางเลือก): กรองตามข้อความตอบกลับของผู้ให้บริการ; ใช้กับ*_operator(ci_contain, ฯลฯ)email_service_provider(ทางเลือก): กรองตามผู้ให้บริการ (แบบตรง); ใช้กับ*_operator: equal, not_equalrecipient_mx(ทางเลือก): กรองตาม MX ของผู้รับ; ใช้กับrecipient_mx_operator(ci_contain, ฯลฯ)category(ทางเลือก): กรองตามหมวดหมู่อีเมล; ใช้กับcategory_operator: equal, not_equal
พารามิเตอร์ทั้งหมดเป็นแบบไม่บังคับ
get-email-log-message
ดึงข้อความบันทึกอีเมลรายการเดียวตาม ID (UUID): สรุปที่อ่านได้ (จาก, ถึง, หัวข้อ, เวลาที่ส่ง, สถานะ, หมวดหมู่, สตรีม, การมีส่วนร่วม, บริบทการส่ง) จากนั้นประวัติเหตุการณ์โดยละเอียด หากต้องการ ด้วย include_content: true คุณยังสามารถโหลดและแสดงเนื้อความของข้อความ (HTML และข้อความธรรมดา) ได้เมื่อ Mailtrap เปิดเผย URL ข้อความดิบ
พารามิเตอร์:
message_id(จำเป็น): UUID ของข้อความบันทึกอีเมล (จาก response การส่งหรือรายการบันทึกอีเมล) ใช้list-email-logsเพื่อค้นหา message IDinclude_content(ไม่บังคับ): เมื่อตั้งค่าtrueจะดึง EML ดิบ (หากมีraw_message_url) และเพิ่มส่วน body ที่ถูก parse เป็น HTML และข้อความธรรมดา คล้ายกับ show-sandbox-email-message
get-sending-stats
รับสถิติการส่งอีเมล (อัตราการส่งสำเร็จ, ตีกลับ, เปิด, คลิก, สแปม) สำหรับช่วงวันที่ที่กำหนด เลือกจัดกลุ่มตามโดเมน, หมวดหมู่, ผู้ให้บริการอีเมล, หรือวันที่ได้ ตรวจสอบอัตราการส่งสำเร็จได้โดยไม่ต้องออกจาก editor
พารามิเตอร์:
start_date(จำเป็น): วันที่เริ่มต้นสำหรับช่วงสถิติ (YYYY-MM-DD)end_date(จำเป็น): วันที่สิ้นสุดสำหรับช่วงสถิติ (YYYY-MM-DD)breakdown(ไม่บังคับ): วิธีจัดกลุ่มสถิติ:aggregated(ค่าเริ่มต้น),by_domain,by_category,by_email_service_provider, หรือby_datesending_domain_ids(ไม่บังคับ): จำกัดผลลัพธ์เฉพาะ domain ID ของผู้ส่งเหล่านี้ (array ของจำนวนเต็ม)sending_streams(ไม่บังคับ): จำกัดเฉพาะtransactionalและ/หรือbulk(array ของสตริง)categories(ไม่บังคับ): จำกัดเฉพาะหมวดหมู่อีเมลเหล่านี้ (array ของสตริง)email_service_providers(ไม่บังคับ): จำกัดเฉพาะผู้ให้บริการเหล่านี้ เช่น Google, Yahoo, Outlook (array ของสตริง)
create-template
สร้างเทมเพลตอีเมลใหม่ในบัญชี Mailtrap ของคุณ
พารามิเตอร์:
name(จำเป็น): ชื่อของเทมเพลตsubject(จำเป็น): หัวข้ออีเมลhtml(หรือต้องระบุtext): เนื้อหา HTML ของเทมเพลตtext(หรือต้องระบุhtml): เวอร์ชันข้อความธรรมดาของเทมเพลตcategory(ไม่บังคับ): หมวดหมู่ของเทมเพลต (ค่าเริ่มต้นคือ "General")
list-templates
แสดงรายการเทมเพลตอีเมลทั้งหมดในบัญชี Mailtrap ของคุณ
พารามิเตอร์:
- ไม่ต้องระบุพารามิเตอร์
get-template
รับเทมเพลตอีเมลเดี่ยวตาม ID รวมถึงหัวข้อ, หมวดหมู่, และ body แบบ HTML/ข้อความ
พารามิเตอร์:
template_id(จำเป็น): ID ของเทมเพลตที่ต้องการดึงข้อมูล
update-template
อัปเดตเทมเพลตอีเมลที่มีอยู่
พารามิเตอร์:
template_id(จำเป็น): ID ของเทมเพลตที่ต้องการอัปเดตname(ไม่บังคับ): ชื่อใหม่ของเทมเพลตsubject(ไม่บังคับ): หัวข้ออีเมลใหม่html(ไม่บังคับ): เนื้อหา HTML ใหม่ของเทมเพลตtext(ไม่บังคับ): เวอร์ชันข้อความธรรมดาใหม่ของเทมเพลตcategory(ไม่บังคับ): หมวดหมู่ใหม่ของเทมเพลต
[!NOTE] ต้องระบุฟิลด์ที่อัปเดตได้อย่างน้อยหนึ่งฟิลด์ (ชื่อ, หัวข้อ, html, ข้อความ, หรือหมวดหมู่) เมื่อเรียกใช้ update-template เพื่อดำเนินการอัปเดต
delete-template
ลบเทมเพลตอีเมลที่มีอยู่
พารามิเตอร์:
template_id(จำเป็น): ID ของเทมเพลตที่ต้องการลบ
send-sandbox-email
ส่งอีเมลไปยังกล่องจดหมายทดสอบ Mailtrap ของคุณเพื่อวัตถุประสงค์ในการพัฒนาและทดสอบ เหมาะสำหรับการทดสอบเทมเพลตอีเมลโดยไม่ต้องส่งอีเมลไปยังผู้รับจริง รองรับสองโหมดเดียวกับ send-email — inline content หรือ template-based (template_uuid)
พารามิเตอร์:
test_inbox_id(ไม่บังคับ): ID กล่องจดหมายทดสอบ Mailtrap จำเป็นเว้นแต่ตั้งค่าMAILTRAP_TEST_INBOX_ID; ส่งต่อครั้งเพื่อกำหนดเป้าหมายกล่องจดหมายเฉพาะfrom(ไม่บังคับ): ผู้ส่งในรูปแบบ{ email, name? }(สตริงอีเมลเปล่าก็ยอมรับได้ตอนรันไทม์) หากไม่ระบุ จะใช้DEFAULT_FROM_EMAILto(ไม่บังคับ): array ของผู้รับในรูปแบบออบเจกต์{ email, name? }(สตริงอีเมลเปล่าใน array หรือสตริงอีเมลคั่นด้วยเครื่องหมายจุลภาคก็ยอมรับได้ตอนรันไทม์) ไม่บังคับหากระบุccหรือbcc; อย่างน้อยหนึ่งในto/cc/bccต้องมีผู้รับcc(ไม่บังคับ): array ของผู้รับ CC ในรูปแบบออบเจกต์{ email, name? }(สตริงอีเมลเปล่าก็ยอมรับได้ตอนรันไทม์)bcc(ไม่บังคับ): array ของผู้รับ BCC ในรูปแบบออบเจกต์{ email, name? }(สตริงอีเมลเปล่าก็ยอมรับได้ตอนรันไทม์)subject(มีเงื่อนไข): หัวข้ออีเมล จำเป็นสำหรับการส่งแบบ inline; ต้องละเว้นเมื่อตั้งค่าtemplate_uuidtext(มีเงื่อนไข): ข้อความ body ของอีเมล จำเป็น (พร้อมกับหรือแทนhtml) สำหรับการส่งแบบ inline; ต้องละเว้นเมื่อตั้งค่าtemplate_uuidhtml(มีเงื่อนไข): เวอร์ชัน HTML ของ body อีเมล จำเป็น (พร้อมกับหรือแทนtext) สำหรับการส่งแบบ inline; ต้องละเว้นเมื่อตั้งค่าtemplate_uuidcategory(ไม่บังคับ): หมวดหมู่อีเมลสำหรับการติดตาม ต้องละเว้นเมื่อตั้งค่าtemplate_uuidtemplate_uuid(ไม่บังคับ): ใช้เทมเพลตอีเมล Mailtrap แทนเนื้อหา inline เมื่อตั้งค่า ต้องละเว้นsubject/text/html/categorytemplate_variables(ไม่บังคับ): ออบเจกต์ของตัวแปรที่แทนลงในเทมเพลตที่อ้างอิงโดยtemplate_uuidอนุญาตเฉพาะร่วมกับtemplate_uuidเท่านั้น
batch-send-sandbox-email
ส่งชุดอีเมลไปยังกล่องจดหมายทดสอบ Mailtrap ของคุณในการเรียก API ครั้งเดียว โดยไม่ส่งถึงผู้รับจริง รูปแบบ base + requests[], การตรวจสอบความถูกต้อง, และกฎ inline-vs-template เหมือนกับ batch-send-transactional-email — ความแตกต่างคือเครื่องมือนี้กำหนดเส้นทางการเรียกผ่าน sandbox endpoint สำหรับกล่องจดหมายทดสอบเดียว
พารามิเตอร์:
sandbox_id(ไม่บังคับ): ID sandbox (กล่องจดหมายทดสอบ) ของ Mailtrap จำเป็นเว้นแต่ตั้งค่าMAILTRAP_SANDBOX_ID; ส่งต่อครั้งเพื่อกำหนดเป้าหมาย sandbox เฉพาะbase(ไม่บังคับ),requests(จำเป็น): ดูbatch-send-transactional-emailด้านบน
[!NOTE] สำหรับเครื่องมือ sandbox ให้ระบุ
test_inbox_idในการเรียกเครื่องมือหรือตั้งค่าตัวแปรสภาพแวดล้อมMAILTRAP_TEST_INBOX_IDคุณสามารถสลับระหว่างกล่องจดหมายได้ต่อครั้งโดยส่งtest_inbox_idเครื่องมือที่รับsandbox_idจะใช้MAILTRAP_SANDBOX_IDเป็นลำดับแรก
get-sandbox-messages
ดึงรายการข้อความจากกล่องจดหมายทดสอบ Mailtrap ของคุณ มีประโยชน์สำหรับการตรวจสอบว่ามีอีเมลใดบ้างที่ได้รับใน sandbox ของคุณระหว่างการทดสอบ
พารามิเตอร์:
page(ไม่บังคับ): หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ: 1)last_id(ไม่บังคับ): การแบ่งหน้าโดยใช้ ID ข้อความล่าสุด คืนค่าข้อความหลังจาก ID ข้อความที่ระบุ (ขั้นต่ำ: 1)search(ไม่บังคับ): คิวรีค้นหาเพื่อกรองข้อความ
[!NOTE] พารามิเตอร์ทั้งหมดไม่บังคับ หากไม่ระบุ จะคืนค่าหน้าแรกของข้อความจากกล่องจดหมาย ใช้ page สำหรับการแบ่งหน้าแบบดั้งเดิม, last_id สำหรับการแบ่งหน้าแบบ cursor, หรือ search เพื่อกรองข้อความตามเนื้อหา
show-sandbox-email-message
แสดงข้อมูลและเนื้อหาโดยละเอียดของข้อความอีเมลเฉพาะจากกล่องจดหมายทดสอบ Mailtrap ของคุณ รวมถึงเนื้อหา body แบบ HTML และข้อความ
พารามิเตอร์:
message_id(จำเป็น): ID ของข้อความอีเมล sandbox ที่ต้องการดึงข้อมูล
[!NOTE] ใช้
get-sandbox-messagesก่อนเพื่อรับรายการข้อความและ ID ของข้อความเหล่านั้น จากนั้นใช้เครื่องมือนี้เพื่อดูเนื้อหาเต็มของข้อความเฉพาะ
get-sandbox-project
รับโปรเจกต์ sandbox ตาม ID รวมถึง inboxes และจำนวนอีเมล
พารามิเตอร์:
project_id(จำเป็น): ID ของโปรเจกต์ที่ต้องการดึงข้อมูล
update-sandbox-project
เปลี่ยนชื่อโปรเจกต์ sandbox ที่มีอยู่
พารามิเตอร์:
project_id(จำเป็น): ID ของโปรเจกต์ที่ต้องการอัปเดตname(จำเป็น): ชื่อใหม่ของโปรเจกต์ (2–100 ตัวอักษร)
list-sandboxes
แสดงรายการ sandbox ทั้งหมดที่เข้าถึงได้ด้วย API token ในทุกโปรเจกต์
พารามิเตอร์:
- ไม่ต้องระบุพารามิเตอร์
mark-sandbox-as-read
ทำเครื่องหมายข้อความทั้งหมดใน sandbox ว่าอ่านแล้ว
พารามิเตอร์:
sandbox_id(จำเป็น): ID ของ sandbox ที่ต้องการดำเนินการ
reset-sandbox-credentials
รีเซ็ตข้อมูลประจำตัว SMTP สำหรับ sandbox คืนค่าชื่อผู้ใช้/รหัสผ่านใหม่
พารามิเตอร์:
sandbox_id(จำเป็น): ID ของ sandbox ที่ต้องการดำเนินการ
enable-sandbox-email-address
เปิดใช้งานที่อยู่รับอีเมลสำหรับ sandbox (เปิดใช้ที่อยู่ Mailtrap ที่ส่งข้อความไปยัง sandbox ผ่าน SMTP)
พารามิเตอร์:
sandbox_id(จำเป็น): ID ของ sandbox ที่ต้องการดำเนินการ
reset-sandbox-email-address
สร้างที่อยู่รับอีเมลใหม่สำหรับ sandbox
พารามิเตอร์:
sandbox_id(จำเป็น): ID ของ sandbox ที่ต้องการดำเนินการ
forward-sandbox-message
ส่งต่อข้อความ sandbox ไปยังที่อยู่อีเมลภายนอก นับรวมกับโควตาการส่งต่อรายเดือนของคุณ
พารามิเตอร์:
sandbox_id(ไม่บังคับ): Sandbox ID สำรองเป็นMAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความ sandbox ที่ต้องการส่งต่อemail(จำเป็น): ที่อยู่อีเมลที่จะส่งต่อข้อความไป
update-sandbox-message
ทำเครื่องหมายข้อความ sandbox ว่าอ่านแล้วหรือยังไม่ได้อ่าน
พารามิเตอร์:
sandbox_id(ไม่บังคับ): Sandbox ID สำรองเป็นMAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความ sandbox ที่ต้องการอัปเดตis_read(จำเป็น):trueทำเครื่องหมายว่าอ่านแล้ว,falseทำเครื่องหมายว่ายังไม่ได้อ่าน
delete-sandbox-message
ลบข้อความ sandbox เดี่ยว
พารามิเตอร์:
sandbox_id(ไม่บังคับ): Sandbox ID สำรองเป็นMAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความ sandbox ที่ต้องการลบ
get-sandbox-message-spam-score
รับรายงานสแปม SpamAssassin สำหรับข้อความ sandbox (คะแนน, กฎ, รายงานเต็ม) ทางเลือกแบบ standalone แทน include_spam_report: true บน show-sandbox-email-message
พารามิเตอร์:
sandbox_id(ไม่บังคับ): Sandbox ID สำรองเป็นMAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความ sandbox
get-sandbox-message-html-analysis
รับรายงานการวิเคราะห์ HTML สำหรับข้อความ sandbox (คะแนนความเข้ากันได้กับไคลเอนต์, องค์ประกอบที่มีปัญหา) ทางเลือกแบบ standalone แทน include_html_analysis: true บน show-sandbox-email-message
พารามิเตอร์:
sandbox_id(ไม่บังคับ): Sandbox ID สำรองเป็นMAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความ sandbox
get-sandbox-message-headers
รับ header เมลที่ถูก parse สำหรับข้อความ sandbox
พารามิเตอร์:
sandbox_id(ไม่บังคับ): Sandbox ID สำรองเป็นMAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความ sandbox
get-sandbox-message-html
รับ body HTML ที่ถูกเรนเดอร์ของข้อความ sandbox
พารามิเตอร์:
sandbox_id(ไม่บังคับ): Sandbox ID สำรองเป็นMAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความ sandbox
get-sandbox-message-text
รับ body ข้อความธรรมดาของข้อความ sandbox
พารามิเตอร์:
sandbox_id(ไม่บังคับ): Sandbox ID สำรองเป็นMAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความ sandbox
get-sandbox-message-raw
รับข้อความดิบในรูปแบบ MIME (header + body) สำหรับข้อความ sandbox
พารามิเตอร์:
sandbox_id(ไม่บังคับ): Sandbox ID สำรองเป็นMAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความ sandbox
get-sandbox-message-eml
รับข้อความที่เรนเดอร์เป็น payload ของไฟล์ EML (เหมาะสมสำหรับแนบกับ ticket หรือนำเข้าไปยังไคลเอนต์เมลอื่น)
พารามิเตอร์:
sandbox_id(ไม่บังคับ): Sandbox ID สำรองเป็นMAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความ sandbox
get-sandbox-message-html-source
รับซอร์ส HTML ที่ยังไม่ได้เรนเดอร์ของข้อความ sandbox (HTML ก่อนการแปลงฝั่ง Mailtrap เช่นการเขียนลิงก์ CID ใหม่)
พารามิเตอร์:
sandbox_id(ไม่บังคับ): Sandbox ID สำรองเป็นMAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความ sandbox
list-sandbox-attachments
แสดงรายการไฟล์แนบทั้งหมดบนข้อความ sandbox (ชื่อไฟล์, ชนิดเนื้อหา, ขนาด, เส้นทางดาวน์โหลด)
พารามิเตอร์:
sandbox_id(ไม่บังคับ): Sandbox ID สำรองเป็นMAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความ sandbox
get-sandbox-attachment
รับ metadata และ URL ดาวน์โหลดสำหรับไฟล์แนบเดี่ยว
พารามิเตอร์:
sandbox_id(ไม่บังคับ): ID ของ Sandbox หากไม่ระบุจะใช้ค่าMAILTRAP_SANDBOX_IDแทนmessage_id(จำเป็น): ID ของข้อความใน sandbox ที่มีไฟล์แนบอยู่attachment_id(จำเป็น): ID ของไฟล์แนบที่ต้องการดึงข้อมูล
list-sending-domains
แสดงรายการ sending domain และสถานะการตรวจสอบ DNS ของแต่ละโดเมน
พารามิเตอร์:
- ไม่ต้องระบุพารามิเตอร์
get-sending-domain
ดึงข้อมูล sending domain ตาม ID และสถานะการตรวจสอบ (รวมถึงระเบียน DNS) หากต้องการ สามารถแนบคำแนะนำการตั้งค่า DNS ได้โดยตั้งค่า include_setup_instructions เป็น true
พารามิเตอร์:
sending_domain_id(จำเป็น): ID ของ sending domaininclude_setup_instructions(ไม่บังคับ): หากเป็นtrueจะแนบคำแนะนำการตั้งค่า DNS ไปในการตอบกลับ ค่าเริ่มต้น:false
create-sending-domain
สร้าง sending domain ใหม่ หลังจากสร้างแล้ว ต้องเพิ่มระเบียน DNS เพื่อตรวจสอบโดเมน (ใช้ get-sending-domain พร้อมกับ include_setup_instructions: true เพื่อดูระเบียน)
พารามิเตอร์:
domain_name(จำเป็น): ชื่อโดเมน (เช่น example.com)
delete-sending-domain
ลบ sending domain
พารามิเตอร์:
sending_domain_id(จำเป็น): ID ของ sending domain ที่ต้องการลบ
send-sending-domain-setup-instructions
ส่งอีเมลคำแนะนำการตั้งค่า DNS สำหรับ sending domain ไปยังที่อยู่อีเมลที่กำหนด มีประโยชน์สำหรับการส่งต่อระเบียน DNS ให้สมาชิกทีม DevOps
พารามิเตอร์:
sending_domain_id(จำเป็น): ID ของ sending domainemail(จำเป็น): ที่อยู่อีเมลที่จะส่งคำแนะนำการตั้งค่า DNS ไปให้
list-suppressions
แสดงรายการหรือค้นหา suppressions (อีเมลตีกลับถาวร ข้อร้องเรียนสแปม การยกเลิกการสมัคร การนำเข้าด้วยตนเอง) คืนค่าสูงสุด 1,000 รายการต่อการเรียกใช้
พารามิเตอร์:
email(ไม่บังคับ): ตัวกรองอีเมล คืนค่าเฉพาะ suppressions ที่ตรงกับที่อยู่นี้
delete-suppression
ลบ suppression ตาม ID ระบบ Mailtrap จะกลับมาส่งอีเมลไปยังที่อยู่นี้อีกครั้ง เว้นแต่ที่อยู่นั้นจะถูก suppression อีก
พารามิเตอร์:
suppression_id(จำเป็น): ID ของ suppression ที่ต้องการลบ
list-webhooks
แสดงรายการ webhook ทั้งหมดที่กำหนดค่าไว้สำหรับบัญชี คืนค่าระเบียน webhook แบบเต็มในรูปแบบ JSON
พารามิเตอร์:
- ไม่ต้องระบุพารามิเตอร์
get-webhook
ดึงข้อมูล webhook เดี่ยวตาม ID คืนค่าระเบียน webhook แบบเต็มในรูปแบบ JSON หมายเหตุ: signing_secret ไม่ ถูกส่งกลับมาที่นี่ — มีให้ใช้งานเฉพาะในการตอบกลับจาก create-webhook เท่านั้น
พารามิเตอร์:
webhook_id(จำเป็น): ID ของ webhook ที่ต้องการดึงข้อมูล
create-webhook
สร้าง webhook การตอบกลับจะมี signing_secret สำหรับตรวจสอบลายเซ็น payload ของ webhook — ข้อมูลลับนี้จะถูกส่งกลับ เฉพาะตอนสร้างเท่านั้น ดังนั้นโปรดเก็บไว้ทันที หากทำหายต้องสร้าง webhook ใหม่
พารามิเตอร์:
url(จำเป็น): URL ที่ Mailtrap จะส่งเหตุการณ์ webhook ไปให้webhook_type(จำเป็น):"email_sending","audit_log", หรือ"inbound_receiving"active(ไม่บังคับ, ค่าบูลีน): ค่าเริ่มต้นคือtruepayload_format(ไม่บังคับ):"json"หรือ"jsonlines"ค่าเริ่มต้นคือ"json"sending_stream(ไม่บังคับ, เฉพาะemail_sending):"transactional"หรือ"bulk"event_types(ไม่บังคับ, เฉพาะemail_sending): อาร์เรย์ของdelivery,soft_bounce,bounce,suspension,unsubscribe,open,spam_complaint,click,rejectdomain_id(ไม่บังคับ, เฉพาะemail_sending): ID ของ sending domain เพื่อจำกัดขอบเขตของ webhook นี้inbound_inbox_id(ไม่บังคับ, เฉพาะinbound_receiving): ID ของกล่องขาเข้า (inbound inbox) ที่ webhook เชื่อมโยงอยู่; เว้นว่างเพื่อใช้กับทุกกล่องขาเข้าในบัญชี
update-webhook
อัปเดตฟิลด์ที่แก้ไขได้ของ webhook webhook_type, sending_stream, และ domain_id ไม่สามารถเปลี่ยนแปลงได้หลังสร้าง — ต้องสร้าง webhook ใหม่หากต้องการเปลี่ยนค่าเหล่านี้
พารามิเตอร์:
webhook_id(จำเป็น): ID ของ webhook ที่ต้องการอัปเดตurl(ไม่บังคับ): URL ใหม่ของ webhookactive(ไม่บังคับ, ค่าบูลีน): เปิดหรือปิดใช้งาน webhookpayload_format(ไม่บังคับ):"json"หรือ"jsonlines"event_types(ไม่บังคับ, เฉพาะemail_sending): อาร์เรย์ของdelivery,soft_bounce,bounce,suspension,unsubscribe,open,spam_complaint,click,rejectinbound_inbox_id(ไม่บังคับ, เฉพาะinbound_receiving): ID ของกล่องขาเข้า (inbound inbox) ที่ webhook เชื่อมโยงอยู่
delete-webhook
ลบ webhook ตาม ID อย่างถาวร คืนค่าระเบียน webhook ที่ถูกลบ
พารามิเตอร์:
webhook_id(จำเป็น): ID ของ webhook ที่ต้องการลบ
get-contact
ดึงข้อมูลผู้ติดต่อตาม ID หรืออีเมล คืนค่าระเบียนผู้ติดต่อแบบเต็ม (สมาชิกภาพในรายชื่อ สถานะ ฟิลด์ที่กำหนดเอง)
พารามิเตอร์:
contact_identifier(จำเป็น): ID ของผู้ติดต่อหรือที่อยู่อีเมล
create-contact
สร้างผู้ติดต่อใหม่
พารามิเตอร์:
email(จำเป็น): ที่อยู่อีเมลfields(ไม่บังคับ): ค่าฟิลด์ที่กำหนดเองโดยใช้ merge tag เป็นคีย์ (เช่นfirst_name) ค่ารองรับชนิดสตริง ตัวเลข หรือบูลีนlist_ids(ไม่บังคับ): ID ของรายชื่อผู้ติดต่อที่จะสมัครผู้ติดต่อนี้เข้ารายชื่อunsubscribed(ไม่บังคับ, ค่าบูลีน): สร้างผู้ติดต่อในสถานะunsubscribed
update-contact
อัปเดตผู้ติดต่อที่มีอยู่โดยระบุ ID หรืออีเมล list_ids แทนที่ชุดสมาชิกภาพทั้งหมดของผู้ติดต่อ; list_ids_included/list_ids_excluded เพิ่ม/ลบโดยไม่กระทบสมาชิกภาพที่เหลือ
พารามิเตอร์:
contact_identifier(จำเป็น): ID ของผู้ติดต่อหรืออีเมลemail(ไม่บังคับ): ที่อยู่อีเมลใหม่fields(ไม่บังคับ): ค่าฟิลด์ที่กำหนดเองโดยใช้ merge tag เป็นคีย์list_ids(ไม่บังคับ): แทนที่ชุดสมาชิกภาพด้วยรายการที่ระบุนี้list_ids_included(ไม่บังคับ): ID ของรายชื่อที่จะเพิ่ม (แบบเพิ่มเข้า)list_ids_excluded(ไม่บังคับ): ID ของรายชื่อที่จะลบunsubscribed(ไม่บังคับ, ค่าบูลีน): ตั้งค่าเป็นunsubscribed(จริง) หรือsubscribed(เท็จ)
delete-contact
ลบผู้ติดต่อตาม ID หรืออีเมลอย่างถาวร คืนค่าระเบียนผู้ติดต่อที่ลบเมื่อ API ตอบกลับด้วยระเบียนดังกล่าว; มิฉะนั้นจะคืนค่า payload ยืนยันการดำเนินการ
พารามิเตอร์:
contact_identifier(จำเป็น): ID ของผู้ติดต่อหรืออีเมล
create-contact-event
บันทึกเหตุการณ์ของผู้ติดต่อลงในผู้ติดต่อ (ตาม ID หรืออีเมล) ใช้เพื่อกระตุ้นระบบอัตโนมัติของรายชื่อผู้ติดต่อ
พารามิเตอร์:
contact_identifier(จำเป็น): ID ของผู้ติดต่อหรืออีเมลname(จำเป็น): ชื่อเหตุการณ์ (ต้องตรงกับตัวกระตุ้นในระบบอัตโนมัติ)params(จำเป็น): ออบเจกต์ของคู่คีย์/ค่าตามต้องการ ค่าอาจเป็นสตริง ตัวเลข บูลีน หรือ null
list-contact-lists
แสดงรายการรายชื่อผู้ติดต่อทั้งหมดของบัญชี
พารามิเตอร์:
search(ไม่บังคับ): กรองรายชื่อผู้ติดต่อตามชื่อ (การจับคู่แบบไม่คำนึงตัวพิมพ์ใหญ่เล็ก) เช่นnews
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 ต้องไม่ซ้ำกันภายในบัญชี และถูกใช้เป็นชื่อตัวแทน (placeholder) ในตัวแปรเทมเพลต
พารามิเตอร์:
name(จำเป็น): ชื่อที่แสดง (เช่น "First 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(ไม่บังคับ): merge tag ใหม่ (ต้องคงความไม่ซ้ำกัน)data_type(ไม่บังคับ): หนึ่งในtext,number,boolean,date
delete-contact-field
ลบนิยามฟิลด์ผู้ติดต่อตาม ID อย่างถาวร
พารามิเตอร์:
field_id(จำเป็น): ID ของฟิลด์ผู้ติดต่อที่ต้องการลบ
create-contact-import
นำเข้าผู้ติดต่อแบบเป็นกลุ่ม คืนค่าระเบียนงานนำเข้า; ตรวจสอบสถานะได้ด้วย get-contact-import
พารามิเตอร์:
contacts(จำเป็น): อาร์เรย์ของรายการผู้ติดต่อ แต่ละรายการต้องมี:email(จำเป็น): ที่อยู่อีเมลของผู้ติดต่อfields(ไม่บังคับ): ค่าฟิลด์ที่กำหนดเองโดยใช้ merge tag เป็นคีย์ (ค่ารองรับชนิดสตริงหรือตัวเลข)list_ids_included(ไม่บังคับ): ID ของรายชื่อที่จะเพิ่มผู้ติดต่อlist_ids_excluded(ไม่บังคับ): ID ของรายชื่อที่จะลบผู้ติดต่อออก
get-contact-import
ดึงข้อมูลสถานะของงานนำเข้าผู้ติดต่อ (created/started/finished/failed) พร้อมจำนวนที่สร้าง/อัปเดต/เกินขีดจำกัด
พารามิเตอร์:
import_id(จำเป็น): ID ของงานนำเข้าผู้ติดต่อ
create-contact-export
ส่งออกผู้ติดต่อที่ตรงกับชุดตัวกรองแบบ AND รวมกัน คืนค่าระเบียนงานส่งออก; ตรวจสอบสถานะด้วย get-contact-export เพื่อรับ URL ดาวน์โหลดเมื่อ status เป็น finished
พารามิเตอร์:
filters(จำเป็น): อาร์เรย์ของออบเจกต์ตัวกรอง แต่ละรายการมี:name(จำเป็น): ฟิลด์ที่จะใช้กรอง (list_id,subscription_status,email, เป็นต้น)operator(จำเป็น): หนึ่งในequal,not_equal,contains,not_contains,is_empty,is_not_emptyvalue(จำเป็น): ค่าสำหรับเปรียบเทียบ (สตริง ตัวเลข บูลีน หรืออาร์เรย์)
get-contact-export
ดึงข้อมูลสถานะของงานส่งออกผู้ติดต่อ เมื่อ status เป็น finished ฟิลด์ url จะเก็บลิงก์ดาวน์โหลดไฟล์ CSV
พารามิเตอร์:
export_id(จำเป็น): ID ของงานส่งออกผู้ติดต่อ
list-accounts
แสดงรายการบัญชี Mailtrap ที่โทเค็น API ปัจจุบันเข้าถึงได้ พร้อมระดับการเข้าถึงของแต่ละบัญชี
พารามิเตอร์:
- ไม่ต้องระบุพารามิเตอร์
get-billing-usage
ดึงข้อมูลการใช้งานรอบการเรียกเก็บเงินปัจจุบันของบัญชี: แผนการส่งและแผนการทดสอบ ขีดจำกัด และจำนวนที่ใช้ในปัจจุบัน
พารามิเตอร์:
- ไม่ต้องระบุพารามิเตอร์
list-account-accesses
แสดงรายการการเข้าถึงบัญชี (ผู้ใช้ คำเชิญ โทเค็น API) ของบัญชี ตัวกรองไม่บังคับช่วยจำกัดผลลัพธ์ให้เหลือเฉพาะทรัพยากรที่ต้องการ ต้องมีสิทธิ์ผู้ดูแลระบบ/เจ้าของบัญชี
พารามิเตอร์:
domain_uuids(ไม่บังคับ): กรองตาม UUID ของ sending domain (อาร์เรย์ของสตริง)inbox_ids(ไม่บังคับ): กรองตาม ID ของกล่องขาเข้า sandbox (อาร์เรย์ของสตริง)project_ids(ไม่บังคับ): กรองตาม ID ของโปรเจกต์ sandbox (อาร์เรย์ของสตริง)
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(จำเป็น): รหัสการเข้าถึงบัญชีเป้าหมายpermissions(จำเป็น): อาร์เรย์ของรายการสิทธิ์ แต่ละรายการมี:resource_id(จำเป็น): รหัสทรัพยากร (ตัวเลขหรือสตริง)resource_type(จำเป็น): หนึ่งในaccount,project,inbox,domain,billingaccess_level(ไม่บังคับ):admin/100หรือviewer/10destroy(ไม่บังคับ, บูลีน): เมื่อเป็น true จะลบสิทธิ์นี้แทนการสร้าง/อัปเดต
list-api-tokens
แสดงรายการโทเค็น API ทั้งหมดของบัญชี
พารามิเตอร์:
- ไม่ต้องใช้พารามิเตอร์
create-api-token
สร้างโทเค็น API ใหม่ การตอบกลับประกอบด้วยค่า token ที่เป็นความลับ — นี่คือ ครั้งเดียวเท่านั้น ที่โทเค็นเต็มจะถูกส่งกลับ ดังนั้นให้เก็บไว้ทันที หากคุณทำหาย ให้สร้างโทเค็นใหม่
พารามิเตอร์:
name(จำเป็น): ชื่อที่แสดงสำหรับโทเค็นresources(ไม่บังคับ): อาร์เรย์ของสิทธิ์ทรัพยากรเพื่อกำหนดขอบเขตโทเค็น แต่ละรายการมี:resource_type(จำเป็น): หนึ่งในaccount,project,inbox,domain,billingresource_id(จำเป็น): รหัสของทรัพยากรaccess_level(จำเป็น):100(ผู้ดูแลระบบ) หรือ10(ผู้ชม)
get-api-token
ดึงโทเค็น API ตาม ID คืนค่าเฉพาะเมตาดาต้า — ค่าของโทเค็นลับ ไม่ ถูกส่งกลับที่นี่ (เฉพาะจาก create-api-token / reset-api-token)
พารามิเตอร์:
api_token_id(จำเป็น): รหัสของโทเค็น API
reset-api-token
รีเซ็ต (หมุนเวียน) โทเค็น API ตาม ID การตอบกลับประกอบด้วยค่า token ที่เป็นความลับ ใหม่ — ส่งกลับเฉพาะในการเรียกนี้เท่านั้น ดังนั้นให้เก็บไว้ทันที โทเค็นก่อนหน้าจะถูกยกเลิก
พารามิเตอร์:
api_token_id(จำเป็น): รหัสของโทเค็น API ที่จะรีเซ็ต
delete-api-token
ลบโทเค็น API อย่างถาวรตาม ID โทเค็นจะไม่สามารถใช้ยืนยันตัวตนได้อีกหลังการลบ
พารามิเตอร์:
api_token_id(จำเป็น): รหัสของโทเค็น API ที่จะลบ
list-sub-accounts
แสดงรายการบัญชีย่อยในองค์กร ต้องใช้ตัวแปรสภาพแวดล้อม MAILTRAP_ORGANIZATION_ID และสิทธิ์การจัดการบัญชีย่อย
พารามิเตอร์:
- ไม่ต้องใช้พารามิเตอร์
create-sub-account
สร้างบัญชีย่อยใหม่ภายใต้องค์กร ต้องใช้ตัวแปรสภาพแวดล้อม MAILTRAP_ORGANIZATION_ID และสิทธิ์การจัดการบัญชีย่อย
พารามิเตอร์:
name(จำเป็น): ชื่อที่แสดงสำหรับบัญชีย่อยใหม่
list-inbound-folders
แสดงรายการโฟลเดอร์ขาเข้าทั้งหมดในบัญชี คืนค่าสรุปที่จัดรูปแบบแล้ว
พารามิเตอร์:
- ไม่ต้องใช้พารามิเตอร์
get-inbound-folder
ดึงโฟลเดอร์ขาเข้าเดียวตาม ID คืนค่าระเบียนโฟลเดอร์เต็มรูปแบบเป็น JSON
พารามิเตอร์:
folder_id(จำเป็น): รหัสของโฟลเดอร์ขาเข้า
create-inbound-folder
สร้างโฟลเดอร์ขาเข้าใหม่
พารามิเตอร์:
name(จำเป็น): ชื่อโฟลเดอร์
update-inbound-folder
เปลี่ยนชื่อโฟลเดอร์ขาเข้า
พารามิเตอร์:
folder_id(จำเป็น): รหัสของโฟลเดอร์ขาเข้าname(จำเป็น): ชื่อโฟลเดอร์ใหม่
delete-inbound-folder
ลบโฟลเดอร์ขาเข้าอย่างถาวรพร้อมกับกล่องจดหมายทั้งหมดภายใน
พารามิเตอร์:
folder_id(จำเป็น): รหัสของโฟลเดอร์ขาเข้า
list-inbound-inboxes
แสดงรายการกล่องจดหมายทั้งหมดในโฟลเดอร์ขาเข้า คืนค่าสรุปที่จัดรูปแบบแล้ว
พารามิเตอร์:
folder_id(จำเป็น): รหัสของโฟลเดอร์ขาเข้า
get-inbound-inbox
ดึงกล่องจดหมายขาเข้าเดียวตาม ID คืนค่าระเบียนกล่องจดหมายเต็มรูปแบบเป็น JSON
พารามิเตอร์:
folder_id(จำเป็น): รหัสของโฟลเดอร์ขาเข้าinbox_id(จำเป็น): รหัสของกล่องจดหมาย
create-inbound-inbox
สร้างกล่องจดหมายขาเข้าใหม่ในโฟลเดอร์
พารามิเตอร์:
folder_id(จำเป็น): รหัสของโฟลเดอร์ขาเข้าname(จำเป็น): ชื่อกล่องจดหมายdomain_id(ไม่บังคับ): แนบกับโดเมนส่งอีเมลแบบกำหนดเอง (กล่องจดหมาย catch-all) ละเว้นสำหรับกล่องจดหมายที่โฮสต์โดย Mailtrap
update-inbound-inbox
เปลี่ยนชื่อกล่องจดหมายขาเข้า
พารามิเตอร์:
folder_id(จำเป็น): รหัสของโฟลเดอร์ขาเข้าinbox_id(จำเป็น): รหัสของกล่องจดหมายname(จำเป็น): ชื่อกล่องจดหมายใหม่
delete-inbound-inbox
ลบกล่องจดหมายขาเข้าอย่างถาวร
พารามิเตอร์:
folder_id(จำเป็น): รหัสของโฟลเดอร์ขาเข้าinbox_id(จำเป็น): รหัสของกล่องจดหมาย
list-inbound-messages
แสดงรายการข้อความที่ได้รับในกล่องจดหมายขาเข้า (แบ่งหน้าด้วยเคอร์เซอร์) คืนค่าสรุปที่จัดรูปแบบพร้อมคำแนะนำหน้าถัดไปเมื่อมีผลลัพธ์เพิ่มเติม
พารามิเตอร์:
inbox_id(จำเป็น): รหัสของกล่องจดหมายlast_id(ไม่บังคับ): เคอร์เซอร์แบ่งหน้าจากlast_idของการตอบกลับก่อนหน้า
get-inbound-message
ดึงข้อความขาเข้าเดียวพร้อมเนื้อหาเต็มและ URL สำหรับดาวน์โหลดไฟล์แนบ คืนค่าระเบียนข้อความเต็มรูปแบบเป็น JSON
พารามิเตอร์:
inbox_id(จำเป็น): รหัสของกล่องจดหมายmessage_id(จำเป็น): รหัสของข้อความ
delete-inbound-message
ลบข้อความขาเข้าอย่างถาวร
พารามิเตอร์:
inbox_id(จำเป็น): รหัสของกล่องจดหมายmessage_id(จำเป็น): รหัสของข้อความ
reply-to-inbound-message
ตอบกลับข้อความขาเข้า (ส่งไปยังผู้ส่งเดิม) ส่งอีเมลจริง ที่อยู่ยอมรับสตริงอีเมลเปล่าหรือ { email, name? }
พารามิเตอร์:
inbox_id(จำเป็น): รหัสของกล่องจดหมายmessage_id(จำเป็น): รหัสของข้อความที่จะตอบกลับtext/html(แนะนำอย่างน้อยหนึ่งรายการ): เนื้อหาการตอบกลับfrom(ไม่บังคับ): ผู้ส่ง ถูกปฏิเสธสำหรับกล่องจดหมายที่โฮสต์โดย Mailtrap; จำเป็นสำหรับกล่องจดหมายโดเมนแบบกำหนดเองcc/bcc/reply_to(ไม่บังคับ): ที่อยู่เพิ่มเติมcategory(ไม่บังคับ): หมวดหมู่ข้อความattachments(ไม่บังคับ): อาร์เรย์ของ{ content (base64), filename, type?, disposition?, content_id? }headers/custom_variables(ไม่บังคับ): ออบเจกต์ของค่าสตริง
reply-all-to-inbound-message
ตอบกลับข้อความขาเข้าและคัดลอกผู้รับอื่นๆ ของต้นฉบับ ส่งอีเมลจริง พารามิเตอร์เดียวกันกับ reply-to-inbound-message
พารามิเตอร์:
inbox_id(จำเป็น): รหัสของกล่องจดหมายmessage_id(จำเป็น): รหัสของข้อความที่จะตอบกลับ- บวกกับฟิลด์การส่งแบบไม่บังคับเดียวกันกับ
reply-to-inbound-message
forward-inbound-message
ส่งต่อข้อความขาเข้าไปยังผู้รับใหม่ ส่งอีเมลจริง
พารามิเตอร์:
inbox_id(จำเป็น): รหัสของกล่องจดหมายmessage_id(จำเป็น): รหัสของข้อความที่จะส่งต่อto(จำเป็น): ผู้รับอย่างน้อยหนึ่งราย (สตริงอีเมลเปล่าหรือ{ email, name? }หรืออาร์เรย์)- บวกกับฟิลด์การส่งแบบไม่บังคับเดียวกันกับ
reply-to-inbound-message
list-inbound-threads
แสดงรายการเธรดการสนทนาในกล่องจดหมายขาเข้า (แบ่งหน้าด้วยเคอร์เซอร์) คืนค่าสรุปที่จัดรูปแบบพร้อมคำแนะนำหน้าถัดไปเมื่อมีผลลัพธ์เพิ่มเติม
พารามิเตอร์:
inbox_id(จำเป็น): รหัสของกล่องจดหมายlast_id(ไม่บังคับ): เคอร์เซอร์แบ่งหน้าจากlast_idของการตอบกลับก่อนหน้า
get-inbound-thread
ดึงเธรดขาเข้าเดียวพร้อมข้อความที่ฝังอยู่ (เก่าที่สุดก่อน) คืนค่าระเบียนเธรดเต็มรูปแบบเป็น JSON
พารามิเตอร์:
inbox_id(จำเป็น): รหัสของกล่องจดหมายthread_id(จำเป็น): รหัสของเธรด
delete-inbound-thread
ลบเธรดขาเข้าอย่างถาวร
พารามิเตอร์:
inbox_id(จำเป็น): รหัสของกล่องจดหมายthread_id(จำเป็น): รหัสของเธรด
การพัฒนา
- โคลนที่เก็บ:
git clone https://github.com/mailtrap/mailtrap-mcp.git
cd mailtrap-mcp
- ติดตั้ง dependencies:
npm install
การกำหนดค่าด้วย Claude Desktop หรือ Cursor
[!TIP] ดูตำแหน่งของไฟล์กำหนดค่าในส่วน Setup
เพิ่มการกำหนดค่าต่อไปนี้:
{
"mcpServers": {
"mailtrap": {
"command": "node",
"args": ["/path/to/mailtrap-mcp/dist/index.js"],
"env": {
"MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
"DEFAULT_FROM_EMAIL": "your_sender@example.com",
"MAILTRAP_ACCOUNT_ID": "your_account_id",
"MAILTRAP_TEST_INBOX_ID": "your_test_inbox_id"
}
}
}
}
หากคุณใช้ asdf สำหรับจัดการ Node.js คุณควรใช้พาธแบบสัมบูรณ์ไปยังไฟล์ปฏิบัติการ:
(ตัวอย่างสำหรับ 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": "your_sender@example.com",
"MAILTRAP_ACCOUNT_ID": "your_account_id",
"MAILTRAP_TEST_INBOX_ID": "your_test_inbox_id"
}
}
}
}
VS Code
[!TIP] ดูตำแหน่งของไฟล์กำหนดค่าในส่วน Setup
{
"mcp": {
"servers": {
"mailtrap": {
"command": "node",
"args": ["/path/to/mailtrap-mcp/dist/index.js"],
"env": {
"MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
"DEFAULT_FROM_EMAIL": "your_sender@example.com",
"MAILTRAP_ACCOUNT_ID": "your_account_id",
"MAILTRAP_TEST_INBOX_ID": "your_test_inbox_id"
}
}
}
}
}
การทดสอบ
การเรียกใช้เครื่องมือกับ Mailtrap จริง
มีสองวิธีในการทดสอบเครื่องมือแบบ end-to-end กับบัญชี Mailtrap จริง: MCP Inspector UI ของเบราว์เซอร์สำหรับการสำรวจแบบโต้ตอบ หรือโหมด CLI สำหรับการเรียกครั้งเดียวจากเชลล์
ทั้งสองวิธีต้องสร้าง bundle ก่อน:
npm run build
และส่งออก MAILTRAP_API_TOKEN + MAILTRAP_ACCOUNT_ID ในเชลล์ของคุณ (สคริปต์ mcp:cli ส่งต่อทั้งสองไปยังเซิร์ฟเวอร์ที่สร้างขึ้น)
UI ของเบราว์เซอร์
npm run dev
Inspector พิมพ์ URL เช่น http://localhost:6274 เปิดมัน สลับไปที่แท็บ Tools เลือกเครื่องมือ (เช่น get-template) กรอกพารามิเตอร์เป็น JSON แล้วกด Run การตอบกลับจาก Mailtrap จะปรากฏในแผงด้านล่าง
CLI
สำหรับการเรียกครั้งเดียวโดยไม่ใช้ UI ให้ใช้ npm run mcp:cli ส่งแฟล็ก CLI ของ Inspector หลัง -- เพื่อให้ 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=devops@example.com
การรันเซิร์ฟเวอร์ 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")'
การแก้ไขปัญหา
ปัญหาทั่วไป:
- ขาดโทเค็น API: ตรวจสอบให้แน่ใจว่าได้ตั้งค่า
MAILTRAP_API_TOKEN - Sandbox ไม่ทำงาน: ระบุ
test_inbox_idในการเรียกเครื่องมือหรือตั้งค่าตัวแปรสภาพแวดล้อมMAILTRAP_TEST_INBOX_ID - ข้อผิดพลาดการหมดเวลา: ตรวจสอบการเชื่อมต่อเครือข่ายและสถานะ API ของ Mailtrap
- ข้อผิดพลาดการตรวจสอบ: ตรวจสอบให้แน่ใจว่ามีการระบุฟิลด์ที่จำเป็นทั้งหมด
การมีส่วนร่วม
ยินดีต้อนรับรายงานข้อบกพร่องและ pull requests บน GitHub โปรเจกต์นี้ตั้งใจให้เป็นพื้นที่ที่ปลอดภัยและเป็นมิตรสำหรับการทำงานร่วมกัน และผู้มีส่วนร่วมควรปฏิบัติตาม จรรยาบรรณ
สัญญาอนุญาต
แพ็กเกจนี้เปิดให้ใช้งานเป็นโอเพนซอร์สภายใต้เงื่อนไขของ สัญญาอนุญาต MIT
จรรยาบรรณ
ทุกคนที่โต้ตอบในฐานโค้ดของโปรเจกต์ Mailtrap ตัวติดตามปัญหา ห้องแชท และรายชื่ออีเมล ควรปฏิบัติตาม จรรยาบรรณ