Mailtrap MCP Server
chính thứcTích hợp với Mailtrap Email API.
Tài liệu
Máy chủ MCP Mailtrap
Máy chủ MCP cung cấp các công cụ để gửi và kiểm thử trong hộp cát thông qua Mailtrap.
Điều kiện tiên quyết
Trước khi sử dụng máy chủ MCP này, bạn cần:
- Tạo tài khoản Mailtrap
- Xác minh tên miền của bạn
- Lấy mã thông báo API từ Cài đặt API Mailtrap
- Lấy ID Tài khoản từ Quản lý tài khoản Mailtrap
Biến môi trường bắt buộc:
MAILTRAP_API_TOKEN- Bắt buộc cho mọi chức năngMAILTRAP_ACCOUNT_ID- Bắt buộc cho mẫu, thống kê, nhật ký email, danh sách/hiển thị hộp cát và tên miền gửi. Chỉ tùy chọn cho send-email và send-sandbox-email.
Tùy chọn (có thể truyền dưới dạng tham số công cụ thay thế):
DEFAULT_FROM_EMAIL- Email người gửi mặc định khifromkhông được cung cấp cho send-email hoặc send-sandbox-email. Cho phép chuyển đổi người gửi mỗi lần gọi thông qua tham sốfrom.MAILTRAP_TEST_INBOX_ID- ID hộp thư kiểm thử mặc định cho các công cụ hộp cát khitest_inbox_idkhông được cung cấp. Cho phép chuyển đổi giữa các hộp thư mỗi lần gọi thông qua tham sốtest_inbox_id.MAILTRAP_SANDBOX_ID- ID hộp cát mặc định cho các công cụ hộp cát khisandbox_idkhông được cung cấp. Cho phép chuyển đổi giữa các hộp cát mỗi lần gọi thông qua tham sốsandbox_id.MAILTRAP_ORGANIZATION_ID- Bắt buộc cho các công cụ tổ chức (list-sub-accounts,create-sub-account).MAILTRAP_ORGANIZATION_API_TOKEN- Mã thông báo API phạm vi tổ chức. Bắt buộc cho các công cụ tổ chức (tách biệt vớiMAILTRAP_API_TOKEN).
Cài đặt nhanh
Smithery CLI
Smithery là trình cài đặt và quản lý registry cho các máy chủ MCP, hoạt động với mọi ứng dụng khách AI.
npx @smithery/cli install mailtrap
Smithery tự động xử lý cấu hình ứng dụng khách và cung cấp quy trình thiết lập tương tác. Đây là cách dễ nhất để bắt đầu với máy chủ MCP cục bộ.
Thiết lập
Claude Desktop
Sử dụng MCPB để cài đặt máy chủ Mailtrap. Bạn có thể tìm thấy các tệp đó trong Bản phát hành.
Tải xuống tệp .MCPB và mở nó. Nếu bạn có Claude Desktop - nó sẽ mở và đề xuất cấu hình.
Claude Desktop hoặc Cursor
Thêm cấu hình sau:
{
"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"
}
}
}
}
Nếu bạn đang sử dụng asdf để quản lý Node.js, bạn phải sử dụng đường dẫn tuyệt đối đến tệp thực thi (ví dụ cho 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"
}
}
}
}
Vị trí tệp cấu hình Claude Desktop
Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Vị trí tệp cấu hình Cursor
Mac: ~/.cursor/mcp.json
Windows: %USERPROFILE%\.cursor\mcp.json
VS Code
Thay đổi cấu hình thủ công
Chạy trong Bảng lệnh: Preferences: Open User Settings (JSON)
Sau đó, trong tệp cài đặt, thêm cấu hình sau:
{
"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"
}
}
}
}
}
[!MẸO] Đừng quên khởi động lại máy chủ MCP của bạn sau khi thay đổi phần "env".
Gói MCP (MCPB)
Để cài đặt dễ dàng trong các máy chủ hỗ trợ Gói MCP, bạn có thể phân phối tệp gói .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
Thao tác này tạo mailtrap-mcp.mcpb bằng cách sử dụng kho lưu trữ manifest.json và các tạo phẩm đã xây dựng trong dist/.
Cách sử dụng
Sau khi được cấu hình, bạn có thể yêu cầu tác nhân gửi email và quản lý mẫu, ví dụ:
Thao tác gửi email:
- "Gửi email đến [email protected] với chủ đề 'Cuộc họp ngày mai' và lời nhắc thân thiện về cuộc họp sắp tới của chúng ta."
- "Gửi email cho [email protected] về cập nhật dự án, và CC cho nhóm tại [email protected]"
- "Gửi mẫu chào mừng (uuid
b81aabcd-1a1e-41cf-91b6-eca0254b3d96) đến [email protected] với các biến{ name: 'Alex' }" - "Gửi email hộp cát đến [email protected] với chủ đề 'Mẫu kiểm thử' để xem trước email chào mừng của chúng ta trông như thế nào"
Nhật ký email (gỡ lỗi gửi):
- "Liệt kê nhật ký email đã gửi gần đây của tôi"
- "Hiển thị nhật ký email cho các email đã gửi đến [email protected]"
- "Lấy thông báo nhật ký email cho ID abc-123-uuid để kiểm tra trạng thái gửi"
Thống kê gửi:
- "Lấy thống kê gửi cho tháng 1 năm 2025"
- "Hiển thị tỷ lệ gửi thành công được phân tích theo tên miền cho tháng trước"
- "Thống kê email của tôi theo danh mục từ 2025-01-01 đến 2025-01-31 là gì?"
Thao tác hộp cát:
- "Lấy tất cả thư từ hộp thư hộp cát của tôi"
- "Hiển thị cho tôi trang đầu tiên của thư hộp cát"
- "Tìm kiếm thư chứa 'kiểm thử' trong hộp thư hộp cát của tôi"
- "Hiển thị cho tôi chi tiết của thư hộp cát có ID 5159037506"
Thao tác mẫu:
- "Liệt kê tất cả các mẫu email trong tài khoản Mailtrap của tôi"
- "Tạo một mẫu email mới có tên 'Email chào mừng' với chủ đề 'Chào mừng đến với nền tảng của chúng tôi!'"
- "Cập nhật mẫu có ID 12345 để thay đổi chủ đề thành 'Thông điệp chào mừng đã cập nhật'"
- "Xóa mẫu có ID 67890"
Tên miền gửi:
- "Liệt kê các tên miền gửi của tôi"
- "Lấy tên miền gửi có ID 3938"
- "Tạo một tên miền gửi cho example.com"
- "Xóa tên miền gửi 3938"
- "Lấy tên miền gửi 3938 với hướng dẫn thiết lập DNS"
Công cụ có sẵn
send-email
Gửi email giao dịch qua Mailtrap. Hỗ trợ hai chế độ loại trừ lẫn nhau — nội dung nội tuyến (subject + text/html) hoặc dựa trên mẫu (template_uuid).
Tham số:
from(tùy chọn): Người gửi dưới dạng chuỗi email hoặc{ email, name? }. Nếu không được cung cấp,DEFAULT_FROM_EMAILđược sử dụng.to(tùy chọn): (Các) người nhận — một email/{ email, name? }hoặc một mảng. Tùy chọn nếucchoặcbccđược cung cấp; ít nhất một trong sốto/cc/bccphải chứa người nhận.cc(tùy chọn): Mảng người nhận CC (chuỗi email hoặc{ email, name? }mỗi cái).bcc(tùy chọn): Mảng người nhận BCC (chuỗi email hoặc{ email, name? }mỗi cái).subject(có điều kiện): Dòng chủ đề email. Bắt buộc cho gửi nội tuyến; phải được bỏ qua khitemplate_uuidđược đặt.text(có điều kiện): Văn bản nội dung email. Bắt buộc (cùng với hoặc thay chohtml) cho gửi nội tuyến; phải được bỏ qua khitemplate_uuidđược đặt.html(có điều kiện): Phiên bản HTML của nội dung email. Bắt buộc (cùng với hoặc thay chotext) cho gửi nội tuyến; phải được bỏ qua khitemplate_uuidđược đặt.category(tùy chọn): Danh mục email để theo dõi và phân tích. Phải được bỏ qua khitemplate_uuidđược đặt.template_uuid(tùy chọn): Sử dụng mẫu email Mailtrap thay vì nội dung nội tuyến. Khi được đặt,subject/text/html/categoryphải được bỏ qua (theo API Mailtrap).template_variables(tùy chọn): Đối tượng các biến được thay thế vào mẫu được tham chiếu bởitemplate_uuid. Chỉ được phép cùng vớitemplate_uuid.
batch-send-transactional-email
Gửi một lô email giao dịch trong một lần gọi API Mailtrap (luồng gửi mặc định). Các trường dùng chung nằm trên base; các ghi đè cho từng người nhận nằm trong requests[]. Mỗi yêu cầu phải bao gồm ít nhất một người nhận thông qua to, cc, hoặc bcc. Cùng loại trừ lẫn nhau nội tuyến-với-mẫu như send-email — được kiểm tra sau khi hợp nhất cơ sở với mỗi yêu cầu.
Tham số:
base(tùy chọn): Đối tượng với các trường được chia sẻ trong toàn bộ lô.from(tùy chọn): Người gửi dưới dạng chuỗi email hoặc{ email, name? }. Dự phòng vềDEFAULT_FROM_EMAIL.reply_to(tùy chọn): Địa chỉ trả lời.subject/text/html/category(tùy chọn, chế độ nội tuyến): Nội dung mặc định cho mọi yêu cầu.template_uuid/template_variables(tùy chọn, chế độ mẫu): Mẫu mặc định + biến. Loại trừ lẫn nhau với các trường nội tuyến.custom_variables(tùy chọn): Biến tùy chỉnh mặc định (giá trị chuỗi).headers(tùy chọn): Tiêu đề tùy chỉnh mặc định.
requests(bắt buộc): Mảng không rỗng các thông báo cho từng người nhận. Mỗi mục có:to(tùy chọn): (Các) người nhận — chuỗi,{ email, name? }, hoặc một mảng. Tùy chọn nếucchoặcbccđược cung cấp; ít nhất một trong sốto/cc/bccphải chứa người nhận.cc,bcc,reply_to(tùy chọn).- Ghi đè nội tuyến (
subject/text/html/category) hoặc mẫu (template_uuid/template_variables); bất kỳ trường nào bị bỏ qua sẽ dự phòng về giá trịbasephù hợp. custom_variables,headers(tùy chọn).
batch-send-bulk-email
Gửi một lô email hàng loạt qua API luồng hàng loạt của Mailtrap. Cùng hình dạng base + requests[], xác thực và quy tắc nội tuyến-với-mẫu như batch-send-transactional-email — điểm khác biệt duy nhất là công cụ này định tuyến lệnh gọi qua điểm cuối hàng loạt thay vì giao dịch. Xem các tham số ở trên.
list-email-logs
Liệt kê nhật ký email đã gửi (lịch sử gửi) với phân trang và bộ lọc tùy chọn. Sử dụng để gỡ lỗi các vấn đề gửi từ IDE.
Tham số:
search_after(tùy chọn): Con trỏ phân trang từnext_page_cursorcủa phản hồi trướcsent_after(tùy chọn): Ngày/giờ ISO 8601; chỉ nhật ký được gửi sau thời gian nàysent_before(tùy chọn): Ngày/giờ ISO 8601; chỉ nhật ký được gửi trước thời gian nàyfrom_email(tùy chọn): Lọc theo email người gửi; sử dụng vớifrom_operator(mặc định: ci_equal)to_email(tùy chọn): Lọc theo email người nhận; sử dụng vớito_operator(mặc định: ci_equal)status(tùy chọn): Lọc theo trạng thái gửi: delivered, not_delivered, enqueued, opted_out; sử dụng vớistatus_operator(mặc định: equal)subject(tùy chọn): Lọc theo chủ đề email; sử dụng vớisubject_operator(mặc định: ci_contain). Sử dụngsubject_operator: empty/not_empty để lọc theo sự hiện diện của chủ đề.sending_domain_id(tùy chọn): Lọc theo ID tên miền gửi (số); sử dụng vớisending_domain_id_operator(mặc định: equal)sending_stream(tùy chọn): Lọc theo luồng: transactional hoặc bulk; sử dụng vớisending_stream_operator(mặc định: equal)events(tùy chọn): Lọc theo (các) loại sự kiện: delivery, open, click, bounce, spam, unsubscribe, soft_bounce, reject, suspension; sử dụng vớievents_operator(include_event / not_include_event)clicks_count/opens_count(tùy chọn): Lọc theo số lần nhấp/mở; sử dụng với*_operator: equal, greater_than, less_thanclient_ip/sending_ip(tùy chọn): Lọc theo IP; sử dụng với*_operator: equal, not_equal, contain, not_containemail_service_provider_response(tùy chọn): Lọc theo văn bản phản hồi của nhà cung cấp; sử dụng với*_operator(ci_contain, v.v.)email_service_provider(tùy chọn): Lọc theo nhà cung cấp (chính xác); sử dụng với*_operator: equal, not_equalrecipient_mx(tùy chọn): Lọc theo MX người nhận; sử dụng vớirecipient_mx_operator(ci_contain, v.v.)category(tùy chọn): Lọc theo danh mục email; sử dụng vớicategory_operator: equal, not_equal
Tất cả các tham số đều là tùy chọn.
get-email-log-message
Lấy một thông báo nhật ký email duy nhất theo ID (UUID): tóm tắt có thể đọc được (từ, đến, chủ đề, thời gian gửi, trạng thái, danh mục, luồng, tương tác, ngữ cảnh gửi), sau đó là lịch sử sự kiện chi tiết. Tùy chọn, với include_content: true, bạn cũng có thể tải và hiển thị nội dung thông báo (HTML và văn bản thuần túy) khi Mailtrap hiển thị URL thông báo thô.
Tham số:
message_id(bắt buộc): UUID của thông báo nhật ký email (từ phản hồi gửi hoặc list-email-logs). Sử dụnglist-email-logsđể tìm ID thông báo.include_content(tùy chọn): Khitrue, tải EML thô (nếuraw_message_urlcó sẵn) và thêm các phần nội dung HTML và văn bản thuần túy đã phân tích cú pháp, tương tự như show-sandbox-email-message.
get-sending-stats
Nhận thống kê gửi email (tỷ lệ gửi thành công, trả lại, mở, nhấp, spam) cho một phạm vi ngày. Tùy chọn phân tích theo tên miền, danh mục, nhà cung cấp dịch vụ email hoặc ngày. Kiểm tra tỷ lệ gửi thành công mà không cần rời khỏi trình chỉnh sửa.
Tham số:
start_date(bắt buộc): Ngày bắt đầu cho phạm vi thống kê (YYYY-MM-DD)end_date(bắt buộc): Ngày kết thúc cho phạm vi thống kê (YYYY-MM-DD)breakdown(tùy chọn): Cách phân tích thống kê:aggregated(mặc định),by_domain,by_category,by_email_service_provider, hoặcby_datesending_domain_ids(tùy chọn): Giới hạn kết quả cho các ID tên miền gửi này (mảng số nguyên)sending_streams(tùy chọn): Giới hạn chotransactionalvà/hoặcbulk(mảng chuỗi)categories(tùy chọn): Giới hạn cho các danh mục email này (mảng chuỗi)email_service_providers(tùy chọn): Giới hạn cho các nhà cung cấp này, ví dụ: Google, Yahoo, Outlook (mảng chuỗi)
create-template
Tạo một mẫu email mới trong tài khoản Mailtrap của bạn.
Tham số:
name(bắt buộc): Tên của mẫusubject(bắt buộc): Dòng tiêu đề emailhtml(hoặctextlà bắt buộc): Nội dung HTML của mẫutext(hoặchtmllà bắt buộc): Phiên bản văn bản thuần của mẫucategory(tùy chọn): Danh mục mẫu (mặc định là "General")
list-templates
Liệt kê tất cả các mẫu email trong tài khoản Mailtrap của bạn.
Tham số:
- Không yêu cầu tham số
get-template
Lấy một mẫu email duy nhất theo ID, bao gồm tiêu đề, danh mục và nội dung HTML/văn bản.
Tham số:
template_id(bắt buộc): ID của mẫu cần lấy
update-template
Cập nhật một mẫu email hiện có.
Tham số:
template_id(bắt buộc): ID của mẫu cần cập nhậtname(tùy chọn): Tên mới cho mẫusubject(tùy chọn): Dòng tiêu đề email mớihtml(tùy chọn): Nội dung HTML mới của mẫutext(tùy chọn): Phiên bản văn bản thuần mới của mẫucategory(tùy chọn): Danh mục mới cho mẫu
[!NOTE] Ít nhất một trường có thể cập nhật (tên, tiêu đề, html, văn bản hoặc danh mục) phải được cung cấp khi gọi update-template để thực hiện cập nhật.
delete-template
Xóa một mẫu email hiện có.
Tham số:
template_id(bắt buộc): ID của mẫu cần xóa
send-sandbox-email
Gửi email đến hộp thư kiểm thử Mailtrap của bạn cho mục đích phát triển và kiểm thử. Điều này hoàn hảo để kiểm tra các mẫu email mà không cần gửi email đến người nhận thực. Hỗ trợ hai chế độ giống như send-email — nội dung nội tuyến hoặc dựa trên mẫu (template_uuid).
Tham số:
test_inbox_id(tùy chọn): ID hộp thư kiểm thử Mailtrap. Bắt buộc trừ khiMAILTRAP_TEST_INBOX_IDđược đặt; truyền mỗi lần gọi để nhắm mục tiêu một hộp thư cụ thể.from(tùy chọn): Người gửi dưới dạng chuỗi email hoặc{ email, name? }. Nếu không được cung cấp,DEFAULT_FROM_EMAILsẽ được sử dụng.to(tùy chọn): Người nhận dưới dạng chuỗi phân cách bằng dấu phẩy, hoặc một mảng các chuỗi email / đối tượng{ email, name? }. Tùy chọn nếucchoặcbccđược cung cấp; ít nhất một trong sốto/cc/bccphải chứa người nhận.cc(tùy chọn): Mảng người nhận CC (mỗi người là chuỗi email hoặc{ email, name? }).bcc(tùy chọn): Mảng người nhận BCC (mỗi người là chuỗi email hoặc{ email, name? }).subject(có điều kiện): Dòng tiêu đề email. Bắt buộc cho gửi nội tuyến; phải được bỏ qua khitemplate_uuidđược đặt.text(có điều kiện): Văn bản nội dung email. Bắt buộc (cùng với hoặc thay chohtml) cho gửi nội tuyến; phải được bỏ qua khitemplate_uuidđược đặt.html(có điều kiện): Phiên bản HTML của nội dung email. Bắt buộc (cùng với hoặc thay chotext) cho gửi nội tuyến; phải được bỏ qua khitemplate_uuidđược đặt.category(tùy chọn): Danh mục email để theo dõi. Phải được bỏ qua khitemplate_uuidđược đặt.template_uuid(tùy chọn): Sử dụng mẫu email Mailtrap thay vì nội dung nội tuyến. Khi được đặt,subject/text/html/categoryphải được bỏ qua.template_variables(tùy chọn): Đối tượng các biến được thay thế vào mẫu được tham chiếu bởitemplate_uuid. Chỉ được phép cùng vớitemplate_uuid.
[!NOTE] Đối với các công cụ sandbox, cung cấp
test_inbox_idtrong lệnh gọi công cụ hoặc đặt biến môi trườngMAILTRAP_TEST_INBOX_ID. Bạn có thể chuyển đổi giữa các hộp thư mỗi lần gọi bằng cách truyềntest_inbox_id.
get-sandbox-messages
Lấy danh sách các thư từ hộp thư kiểm thử Mailtrap của bạn. Hữu ích để kiểm tra những email đã được nhận trong sandbox của bạn trong quá trình kiểm thử.
Tham số:
page(tùy chọn): Số trang để phân trang (tối thiểu: 1)last_id(tùy chọn): Phân trang sử dụng ID thư cuối cùng. Trả về các thư sau ID thư được chỉ định (tối thiểu: 1)search(tùy chọn): Truy vấn tìm kiếm để lọc thư
[!NOTE] Tất cả các tham số đều là tùy chọn. Nếu không có tham số nào được cung cấp, trang đầu tiên của thư từ hộp thư sẽ được trả về. Sử dụng page để phân trang truyền thống, last_id để phân trang dựa trên con trỏ, hoặc search để lọc thư theo nội dung.
show-sandbox-email-message
Hiển thị thông tin chi tiết và nội dung của một thư email cụ thể từ hộp thư kiểm thử Mailtrap của bạn, bao gồm nội dung HTML và văn bản thuần.
Tham số:
message_id(bắt buộc): ID của thư email sandbox cần lấy
[!NOTE] Sử dụng
get-sandbox-messagestrước để lấy danh sách thư và ID của chúng, sau đó sử dụng công cụ này để xem nội dung đầy đủ của một thư cụ thể.
get-sandbox-project
Lấy một dự án sandbox theo ID, bao gồm các hộp thư và số lượng email của nó.
Tham số:
project_id(bắt buộc): ID của dự án cần lấy
update-sandbox-project
Đổi tên một dự án sandbox hiện có.
Tham số:
project_id(bắt buộc): ID của dự án cần cập nhậtname(bắt buộc): Tên mới cho dự án (2–100 ký tự)
list-sandboxes
Liệt kê mọi sandbox có thể truy cập bằng mã thông báo API trên tất cả các dự án.
Tham số:
- Không yêu cầu tham số
mark-sandbox-as-read
Đánh dấu tất cả thư trong sandbox là đã đọc.
Tham số:
sandbox_id(bắt buộc): ID của sandbox cần thao tác
reset-sandbox-credentials
Đặt lại thông tin xác thực SMTP cho một sandbox. Trả về tên người dùng/mật khẩu mới.
Tham số:
sandbox_id(bắt buộc): ID của sandbox cần thao tác
enable-sandbox-email-address
Bật địa chỉ nhận qua email cho một sandbox (bật địa chỉ Mailtrap chuyển thư đến sandbox qua SMTP).
Tham số:
sandbox_id(bắt buộc): ID của sandbox cần thao tác
reset-sandbox-email-address
Tạo một địa chỉ nhận qua email mới cho một sandbox.
Tham số:
sandbox_id(bắt buộc): ID của sandbox cần thao tác
forward-sandbox-message
Chuyển tiếp một thư sandbox đến một địa chỉ email bên ngoài. Tính vào hạn mức chuyển tiếp hàng tháng của bạn.
Tham số:
sandbox_id(tùy chọn): ID Sandbox. Dự phòng vềMAILTRAP_SANDBOX_ID.message_id(bắt buộc): ID của thư sandbox cần chuyển tiếpemail(bắt buộc): Địa chỉ email để chuyển tiếp thư đến
update-sandbox-message
Đánh dấu một thư sandbox là đã đọc hoặc chưa đọc.
Tham số:
sandbox_id(tùy chọn): ID Sandbox. Dự phòng vềMAILTRAP_SANDBOX_ID.message_id(bắt buộc): ID của thư sandbox cần cập nhậtis_read(bắt buộc):trueđánh dấu là đã đọc,falseđánh dấu là chưa đọc
delete-sandbox-message
Xóa một thư sandbox duy nhất.
Tham số:
sandbox_id(tùy chọn): ID Sandbox. Dự phòng vềMAILTRAP_SANDBOX_ID.message_id(bắt buộc): ID của thư sandbox cần xóa
get-sandbox-message-spam-score
Lấy báo cáo spam SpamAssassin cho một thư sandbox (điểm số, quy tắc, báo cáo đầy đủ). Lựa chọn thay thế độc lập cho include_spam_report: true trên show-sandbox-email-message.
Tham số:
sandbox_id(tùy chọn): ID Sandbox. Dự phòng vềMAILTRAP_SANDBOX_ID.message_id(bắt buộc): ID của thư sandbox
get-sandbox-message-html-analysis
Lấy báo cáo phân tích HTML cho một thư sandbox (điểm tương thích máy khách, các phần tử có vấn đề). Lựa chọn thay thế độc lập cho include_html_analysis: true trên show-sandbox-email-message.
Tham số:
sandbox_id(tùy chọn): ID Sandbox. Dự phòng vềMAILTRAP_SANDBOX_ID.message_id(bắt buộc): ID của thư sandbox
get-sandbox-message-headers
Lấy các tiêu đề thư đã phân tích cho một thư sandbox.
Tham số:
sandbox_id(tùy chọn): ID Sandbox. Dự phòng vềMAILTRAP_SANDBOX_ID.message_id(bắt buộc): ID của thư sandbox
get-sandbox-message-html
Lấy nội dung HTML đã kết xuất của một thư sandbox.
Tham số:
sandbox_id(tùy chọn): ID Sandbox. Dự phòng vềMAILTRAP_SANDBOX_ID.message_id(bắt buộc): ID của thư sandbox
get-sandbox-message-text
Lấy nội dung văn bản thuần của một thư sandbox.
Tham số:
sandbox_id(tùy chọn): ID Sandbox. Dự phòng vềMAILTRAP_SANDBOX_ID.message_id(bắt buộc): ID của thư sandbox
get-sandbox-message-raw
Lấy thư thô, định dạng MIME (tiêu đề + nội dung) cho một thư sandbox.
Tham số:
sandbox_id(tùy chọn): ID Sandbox. Dự phòng vềMAILTRAP_SANDBOX_ID.message_id(bắt buộc): ID của thư sandbox
get-sandbox-message-eml
Lấy thư được kết xuất dưới dạng tải trọng tệp EML (phù hợp để đính kèm vào vé hoặc nhập vào một ứng dụng email khác).
Tham số:
sandbox_id(tùy chọn): ID Sandbox. Dự phòng vềMAILTRAP_SANDBOX_ID.message_id(bắt buộc): ID của thư sandbox
get-sandbox-message-html-source
Lấy nguồn HTML chưa kết xuất của một thư sandbox (HTML trước bất kỳ biến đổi nào từ phía Mailtrap như viết lại liên kết CID).
Tham số:
sandbox_id(tùy chọn): ID Sandbox. Dự phòng vềMAILTRAP_SANDBOX_ID.message_id(bắt buộc): ID của thư sandbox
list-sandbox-attachments
Liệt kê tất cả tệp đính kèm trên một thư sandbox (tên tệp, loại nội dung, kích thước, đường dẫn tải xuống).
Tham số:
sandbox_id(tùy chọn): ID Sandbox. Dự phòng vềMAILTRAP_SANDBOX_ID.message_id(bắt buộc): ID của thư sandbox
get-sandbox-attachment
Lấy siêu dữ liệu và URL tải xuống cho một tệp đính kèm duy nhất.
Tham số:
sandbox_id(tùy chọn): ID Sandbox. Dự phòng vềMAILTRAP_SANDBOX_ID.message_id(bắt buộc): ID của thư sandbox chứa tệp đính kèmattachment_id(bắt buộc): ID của tệp đính kèm cần lấy
list-sending-domains
Liệt kê các tên miền gửi và trạng thái xác minh DNS của chúng.
Tham số:
- Không yêu cầu tham số
get-sending-domain
Lấy một tên miền gửi theo ID và trạng thái xác minh của nó (bao gồm bản ghi DNS). Tùy chọn bao gồm hướng dẫn thiết lập DNS bằng cách đặt include_setup_instructions thành true.
Tham số:
sending_domain_id(bắt buộc): ID tên miền gửiinclude_setup_instructions(tùy chọn): Nếutrue, thêm hướng dẫn thiết lập DNS vào phản hồi. Mặc định:false
create-sending-domain
Tạo một tên miền gửi mới. Sau khi tạo, thêm bản ghi DNS để xác minh tên miền (sử dụng get-sending-domain với include_setup_instructions: true để xem các bản ghi).
Tham số:
domain_name(bắt buộc): Tên miền (ví dụ: example.com)
delete-sending-domain
Xóa một tên miền gửi.
Tham số:
sending_domain_id(bắt buộc): ID tên miền gửi cần xóa
send-sending-domain-setup-instructions
Gửi hướng dẫn thiết lập DNS cho một tên miền gửi đến một địa chỉ nhất định. Hữu ích để chuyển tiếp bản ghi DNS cho đồng nghiệp DevOps.
Tham số:
sending_domain_id(bắt buộc): ID tên miền gửiemail(bắt buộc): Địa chỉ email để gửi hướng dẫn thiết lập DNS đến
list-suppressions
Liệt kê hoặc tìm kiếm các mục chặn (hard bounces, spam complaints, unsubscriptions, manual imports). Trả về tối đa 1000 kết quả mỗi lần gọi.
Tham số:
email(tùy chọn): Bộ lọc email. Chỉ trả về các suppression khớp với địa chỉ này.
delete-suppression
Xóa một suppression theo ID. Mailtrap sẽ tiếp tục gửi đến email này trừ khi nó bị suppression lại.
Tham số:
suppression_id(bắt buộc): ID của suppression cần xóa
list-webhooks
Liệt kê tất cả webhook được cấu hình cho tài khoản. Trả về bản ghi webhook đầy đủ dưới dạng JSON.
Tham số:
- Không yêu cầu tham số
get-webhook
Lấy một webhook theo ID. Trả về bản ghi webhook đầy đủ dưới dạng JSON. Lưu ý: signing_secret không được trả về ở đây — nó chỉ có trong phản hồi từ create-webhook.
Tham số:
webhook_id(bắt buộc): ID của webhook cần lấy
create-webhook
Tạo một webhook. Phản hồi bao gồm signing_secret để xác minh chữ ký tải trọng webhook — bí mật này chỉ được trả về khi tạo, vì vậy hãy lưu trữ ngay. Nếu mất, hãy tạo lại webhook.
Tham số:
url(bắt buộc): URL mà Mailtrap sẽ POST sự kiện webhook đếnwebhook_type(bắt buộc):"email_sending"hoặc"audit_log"active(tùy chọn, boolean): mặc định làtruepayload_format(tùy chọn):"json"hoặc"jsonlines". Mặc định là"json"sending_stream(tùy chọn, chỉemail_sending):"transactional"hoặc"bulk"event_types(tùy chọn, chỉemail_sending): mảng gồmdelivery,soft_bounce,bounce,suspension,unsubscribe,open,spam_complaint,click,rejectdomain_id(tùy chọn, chỉemail_sending): ID miền gửi để giới hạn phạm vi webhook này
update-webhook
Cập nhật các trường có thể thay đổi của webhook. webhook_type, sending_stream và domain_id không thể thay đổi sau khi tạo — hãy tạo lại webhook nếu cần thay đổi chúng.
Tham số:
webhook_id(bắt buộc): ID của webhook cần cập nhậturl(tùy chọn): URL webhook mớiactive(tùy chọn, boolean): Bật hoặc tắt webhookpayload_format(tùy chọn):"json"hoặc"jsonlines"event_types(tùy chọn, chỉemail_sending): mảng gồmdelivery,soft_bounce,bounce,suspension,unsubscribe,open,spam_complaint,click,reject
delete-webhook
Xóa vĩnh viễn một webhook theo ID. Trả về bản ghi webhook đã xóa.
Tham số:
webhook_id(bắt buộc): ID của webhook cần xóa
get-contact
Lấy một liên hệ theo ID hoặc email. Trả về bản ghi liên hệ đầy đủ (thành viên danh sách, trạng thái, trường tùy chỉnh).
Tham số:
contact_identifier(bắt buộc): ID liên hệ hoặc địa chỉ email
create-contact
Tạo một liên hệ mới.
Tham số:
email(bắt buộc): Địa chỉ emailfields(tùy chọn): Giá trị trường tùy chỉnh được khóa bởi thẻ hợp nhất (ví dụ:first_name). Giá trị chuỗi, số hoặc booleanlist_ids(tùy chọn): ID của danh sách liên hệ để đăng ký liên hệ nàyunsubscribed(tùy chọn, boolean): Tạo liên hệ ở trạng tháiunsubscribed
update-contact
Cập nhật liên hệ hiện có được xác định bằng ID hoặc email. list_ids thay thế toàn bộ tập hợp thành viên của liên hệ; list_ids_included/list_ids_excluded thêm/xóa mà không ảnh hưởng đến phần còn lại.
Tham số:
contact_identifier(bắt buộc): ID liên hệ hoặc emailemail(tùy chọn): Địa chỉ email mớifields(tùy chọn): Giá trị trường tùy chỉnh được khóa bởi thẻ hợp nhấtlist_ids(tùy chọn): Thay thế tập hợp thành viên bằng danh sách chính xác nàylist_ids_included(tùy chọn): ID danh sách để thêm (cộng thêm)list_ids_excluded(tùy chọn): ID danh sách để xóaunsubscribed(tùy chọn, boolean): Đặt thànhunsubscribed(true) hoặcsubscribed(false)
delete-contact
Xóa vĩnh viễn một liên hệ theo ID hoặc email. Trả về bản ghi liên hệ đã xóa khi API phản hồi với một bản ghi; nếu không, trả về tải trọng xác nhận.
Tham số:
contact_identifier(bắt buộc): ID liên hệ hoặc email
create-contact-event
Ghi lại một sự kiện liên hệ cho một liên hệ (theo ID hoặc email). Được sử dụng để kích hoạt tự động hóa danh sách liên hệ.
Tham số:
contact_identifier(bắt buộc): ID liên hệ hoặc emailname(bắt buộc): Tên sự kiện (khớp với trình kích hoạt tự động hóa)params(bắt buộc): Đối tượng chứa các cặp khóa/giá trị tùy ý. Giá trị có thể là chuỗi, số, boolean hoặc null
list-contact-lists
Liệt kê tất cả danh sách liên hệ cho tài khoản.
Tham số:
- Không yêu cầu tham số
get-contact-list
Lấy danh sách liên hệ theo ID.
Tham số:
list_id(bắt buộc): ID của danh sách liên hệ cần lấy
create-contact-list
Tạo danh sách liên hệ mới.
Tham số:
name(bắt buộc): Tên cho danh sách mới
update-contact-list
Đổi tên danh sách liên hệ hiện có.
Tham số:
list_id(bắt buộc): ID của danh sách liên hệname(bắt buộc): Tên mới cho danh sách
delete-contact-list
Xóa vĩnh viễn danh sách liên hệ theo ID.
Tham số:
list_id(bắt buộc): ID của danh sách liên hệ cần xóa
list-contact-fields
Liệt kê tất cả định nghĩa trường liên hệ cho tài khoản.
Tham số:
- Không yêu cầu tham số
get-contact-field
Lấy định nghĩa trường liên hệ theo ID.
Tham số:
field_id(bắt buộc): ID của trường liên hệ
create-contact-field
Tạo định nghĩa trường liên hệ mới. merge_tag phải là duy nhất trong tài khoản và được sử dụng làm tên giữ chỗ trong các biến mẫu.
Tham số:
name(bắt buộc): Tên hiển thị (ví dụ: "Tên")merge_tag(bắt buộc): Tên giữ chỗ duy nhất (ví dụ:first_name)data_type(bắt buộc): Một trong sốtext,number,boolean,date
update-contact-field
Cập nhật định nghĩa trường liên hệ. Có thể thay đổi bất kỳ kết hợp nào của name, merge_tag và data_type.
Tham số:
field_id(bắt buộc): ID của trường liên hệname(tùy chọn): Tên hiển thị mớimerge_tag(tùy chọn): Thẻ hợp nhất mới (phải duy trì tính duy nhất)data_type(tùy chọn): Một trong sốtext,number,boolean,date
delete-contact-field
Xóa vĩnh viễn định nghĩa trường liên hệ theo ID.
Tham số:
field_id(bắt buộc): ID của trường liên hệ cần xóa
create-contact-import
Nhập hàng loạt liên hệ. Trả về bản ghi công việc nhập; kiểm tra trạng thái của nó bằng get-contact-import.
Tham số:
contacts(bắt buộc): Mảng các mục liên hệ. Mỗi mục cần có:email(bắt buộc): Địa chỉ email liên hệfields(tùy chọn): Giá trị trường tùy chỉnh được khóa bởi thẻ hợp nhất (giá trị chuỗi hoặc số)list_ids_included(tùy chọn): ID danh sách để thêm liên hệ vàolist_ids_excluded(tùy chọn): ID danh sách để xóa liên hệ khỏi
get-contact-import
Lấy trạng thái của công việc nhập liên hệ (đã tạo/đã bắt đầu/đã hoàn thành/thất bại) với số lượng đã tạo/đã cập nhật/vượt giới hạn.
Tham số:
import_id(bắt buộc): ID của công việc nhập liên hệ
create-contact-export
Xuất các liên hệ khớp với một tập hợp bộ lọc kết hợp AND. Trả về bản ghi công việc xuất; kiểm tra trạng thái bằng get-contact-export để lấy URL tải xuống khi status là finished.
Tham số:
filters(bắt buộc): Mảng các đối tượng bộ lọc. Mỗi đối tượng có:name(bắt buộc): Trường để lọc (list_id,subscription_status,email, v.v.)operator(bắt buộc): Một trong sốequal,not_equal,contains,not_contains,is_empty,is_not_emptyvalue(bắt buộc): Giá trị so sánh (chuỗi, số, boolean hoặc mảng)
get-contact-export
Lấy trạng thái của công việc xuất liên hệ. Khi status là finished, trường url chứa liên kết tải xuống CSV.
Tham số:
export_id(bắt buộc): ID của công việc xuất liên hệ
list-accounts
Liệt kê các tài khoản Mailtrap mà token API hiện tại có thể truy cập, cùng với cấp độ truy cập của từng tài khoản.
Tham số:
- Không yêu cầu tham số
get-billing-usage
Lấy thông tin sử dụng chu kỳ thanh toán hiện tại cho tài khoản: gói gửi và kiểm tra, giới hạn và số lượng hiện tại.
Tham số:
- Không yêu cầu tham số
list-account-accesses
Liệt kê quyền truy cập tài khoản (người dùng, lời mời, token API) cho tài khoản. Bộ lọc tùy chọn thu hẹp kết quả vào các tài nguyên cụ thể. Yêu cầu quyền quản trị viên/chủ sở hữu tài khoản.
Tham số:
domain_uuids(tùy chọn): Lọc theo UUID miền gửi (mảng chuỗi)inbox_ids(tùy chọn): Lọc theo ID hộp thư sandbox (mảng chuỗi)project_ids(tùy chọn): Lọc theo ID dự án sandbox (mảng chuỗi)
remove-account-access
Xóa quyền truy cập tài khoản theo ID. Đối với bộ xác định User, thao tác này thu hồi quyền của họ; đối với bộ xác định Invite hoặc ApiToken, thao tác này xóa hoàn toàn bộ xác định. Yêu cầu quyền quản trị viên/chủ sở hữu.
Tham số:
account_access_id(bắt buộc): ID của bản ghi truy cập cần xóa
get-permission-resources
Lấy tất cả tài nguyên (hộp thư, dự án, miền, thanh toán, tài khoản) mà token API có quyền truy cập quản trị, được lồng theo phân cấp.
Tham số:
- Không yêu cầu tham số
bulk-update-permissions
Tạo, cập nhật hoặc hủy hàng loạt quyền cho một quyền truy cập tài khoản duy nhất. Các cặp (resource_type, resource_id) hiện có được cập nhật; các cặp mới được tạo. Đặt destroy: true trên một mục để xóa nó.
Tham số:
account_access_id(bắt buộc): ID quyền truy cập tài khoản mục tiêupermissions(bắt buộc): Mảng các mục quyền. Mỗi mục có:resource_id(bắt buộc): ID tài nguyên (số hoặc chuỗi)resource_type(bắt buộc): Một trong sốaccount,project,inbox,domain,billingaccess_level(tùy chọn):admin/100hoặcviewer/10destroy(tùy chọn, boolean): Khi true, xóa quyền này thay vì tạo/cập nhật nó
list-api-tokens
Liệt kê tất cả token API cho tài khoản.
Tham số:
- Không yêu cầu tham số
create-api-token
Tạo token API mới. Phản hồi bao gồm giá trị bí mật token — đây là lần duy nhất token đầy đủ được trả về, vì vậy hãy lưu trữ ngay lập tức. Nếu mất, hãy tạo lại token.
Tham số:
name(bắt buộc): Tên hiển thị cho tokenresources(tùy chọn): Mảng quyền tài nguyên để giới hạn phạm vi token. Mỗi mục có:resource_type(bắt buộc): Một trong sốaccount,project,inbox,domain,billingresource_id(bắt buộc): ID của tài nguyênaccess_level(bắt buộc):100(quản trị viên) hoặc10(người xem)
get-api-token
Lấy token API theo ID. Chỉ trả về siêu dữ liệu — giá trị token bí mật không được trả về ở đây (chỉ từ create-api-token / reset-api-token).
Tham số:
api_token_id(bắt buộc): ID của token API
reset-api-token
Đặt lại (xoay vòng) token API theo ID. Phản hồi bao gồm giá trị bí mật mới token — chỉ được trả về trong lệnh gọi này, vì vậy hãy lưu trữ ngay lập tức. Token trước đó bị vô hiệu hóa.
Tham số:
api_token_id(bắt buộc): ID của token API cần đặt lại
delete-api-token
Xóa vĩnh viễn token API theo ID. Token không thể xác thực sau khi xóa.
Tham số:
api_token_id(bắt buộc): ID của token API cần xóa
list-sub-accounts
Liệt kê các tài khoản phụ trong tổ chức. Yêu cầu biến môi trường MAILTRAP_ORGANIZATION_ID và quyền quản lý tài khoản phụ.
Tham số:
- Không yêu cầu tham số
create-sub-accountTạo một tài khoản phụ mới trong tổ chức. Yêu cầu biến môi trường MAILTRAP_ORGANIZATION_ID và quyền quản lý tài khoản phụ.
Tham số:
name(bắt buộc): Tên hiển thị cho tài khoản phụ mới
Phát triển
- Sao chép kho lưu trữ:
git clone https://github.com/mailtrap/mailtrap-mcp.git
cd mailtrap-mcp
- Cài đặt các phụ thuộc:
npm install
Cấu hình với Claude Desktop hoặc Cursor
[!TIP] Xem vị trí tệp cấu hình trong phần Thiết lập.
Thêm cấu hình sau:
{
"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"
}
}
}
}
Nếu bạn đang sử dụng asdf để quản lý Node.js, bạn nên sử dụng đường dẫn tuyệt đối đến tệp thực thi:
(ví dụ cho 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] Xem vị trí tệp cấu hình trong phần Thiết lập.
{
"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"
}
}
}
}
}
Kiểm thử
Chạy công cụ với Mailtrap thực
Có hai cách để thực thi một công cụ đầu cuối với tài khoản Mailtrap thực: giao diện người dùng trình duyệt MCP Inspector để khám phá tương tác, hoặc chế độ CLI của nó cho các lệnh gọi một lần từ shell.
Cả hai đều yêu cầu gói phải được xây dựng trước:
npm run build
và MAILTRAP_API_TOKEN + MAILTRAP_ACCOUNT_ID được xuất trong shell của bạn (tập lệnh mcp:cli chuyển tiếp cả hai đến máy chủ được khởi tạo).
Giao diện người dùng trình duyệt
npm run dev
Inspector in ra một URL như http://localhost:6274. Mở nó, chuyển sang tab Tools, chọn một công cụ (ví dụ: get-template), điền các tham số dưới dạng JSON và nhấn Run. Phản hồi từ Mailtrap xuất hiện trong bảng điều khiển bên dưới.
CLI
Đối với các lệnh gọi một lần không có giao diện người dùng, sử dụng npm run mcp:cli. Truyền các cờ CLI của Inspector sau -- để npm chuyển tiếp chúng nguyên văn:
# 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]
Chạy Máy chủ MCPB
# Run the MCPB server directly
node dist/mcpb-server.js
# Or use the provided binary
mailtrap-mcpb-server
[!TIP] Để phát triển với MCP Inspector:
npm run dev:mcpb
Xử lý lỗi
Máy chủ này sử dụng xử lý lỗi có cấu trúc phù hợp với các quy ước MCP:
VALIDATION_ERROR: Lỗi xác thực đầu vàoCONFIGURATION_ERROR: Thiếu hoặc cấu hình không hợp lệEXECUTION_ERROR: Lỗi thực thi thời gian chạyTIMEOUT: Hết thời gian chờ thao tác (mặc định 30 giây)
Các lỗi bao gồm thông điệp có thể hành động và được ghi lại dưới dạng có cấu trúc.
Bảo mật
- Đầu vào được xác thực qua lược đồ Zod
- Biến môi trường được xử lý an toàn
- Bảo vệ thời gian chờ trên các thao tác (30 giây)
- Chi tiết nhạy cảm được làm sạch trong đầu ra lỗi
Ghi nhật ký
Nhật ký JSON có cấu trúc với các cấp độ: INFO, WARN, ERROR, DEBUG.
Bật ghi nhật ký gỡ lỗi bằng cách đặt DEBUG=true.
# Example: enable debug logging
DEBUG=true node dist/mcpb-server.js
Quan trọng: Máy chủ ghi nhật ký vào stderr để stdout vẫn dành riêng cho các khung JSON-RPC. Điều này ngăn máy chủ gặp lỗi phân tích cú pháp JSON do nhật ký xen kẽ.
Ví dụ phân tích nhật ký sử dụng 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")'
Khắc phục sự cố
Các vấn đề thường gặp:
- Thiếu Mã thông báo API: đảm bảo
MAILTRAP_API_TOKENđược đặt - Hộp cát không hoạt động: cung cấp
test_inbox_idtrong lệnh gọi công cụ hoặc đặt biến môi trườngMAILTRAP_TEST_INBOX_ID - Lỗi thời gian chờ: kiểm tra kết nối mạng và trạng thái API Mailtrap
- Lỗi xác thực: đảm bảo tất cả các trường bắt buộc được cung cấp
Đóng góp
Báo cáo lỗi và yêu cầu kéo được chào đón trên GitHub. Dự án này nhằm mục đích là một không gian an toàn, thân thiện cho sự hợp tác và những người đóng góp được kỳ vọng tuân thủ quy tắc ứng xử.
Giấy phép
Gói này có sẵn dưới dạng mã nguồn mở theo các điều khoản của Giấy phép MIT.
Quy tắc ứng xử
Mọi người tương tác trong cơ sở mã, trình theo dõi vấn đề, phòng trò chuyện và danh sách gửi thư của dự án Mailtrap được kỳ vọng tuân theo quy tắc ứng xử.