Email

dev.wraps由 wraps.dev 发布v0.11.1更新于 Nov 3, 2026

通过您自己的 Amazon SES 账户发送电子邮件,并检查域名、抑制列表和沙盒状态。

AI 翻译由 AI 模型根据下方的原文描述翻译,可能有误。

原文描述

Send email through your own Amazon SES account, and check domains, suppressions and sandbox status.

发布方自己的服务:Wraps

概览

Email 的本地 MCP 服务,由 wraps.dev 发布;无需登录;STDIO;7 个工具。

暂无 AI 概览:以下信息来自注册中心条目和服务本身。

发布者
wraps.dev

安装

在 SourceWeft 中

  1. 打开 控制台中的 Email,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

@wraps.dev/mcp

MCP server for Amazon SES. Lets AI agents send email from your own AWS account, check domain verification and DKIM, look up the suppression list, and see whether the account is still in the SES sandbox.

Works with any SES account. Wraps adds send history and delivery events on top.

Runs locally via stdio. Your AWS credentials never leave your machine.

Prerequisites

  • AWS credentials configured in your environment (a profile, SSO, or environment variables)
  • An SES account in the region you point it at
  • For list_recent_sends and get_email_event_log only: the Wraps event pipeline, deployed with npx @wraps.dev/cli email init
  • For the API-backed tools: a WRAPS_API_KEY, or a session from wraps auth login

Tools

ToolDescriptionNeeds Wraps?Write?
send_emailSend a transactional email via your SES accountNoYes — requires WRAPS_WRITE_ENABLED=true
verify_domain_statusCheck verification and DKIM status of a sending domainNoNo
list_suppressionsList addresses on your SES suppression list (paginated, with an explicit truncation notice), or check one address exactly with emailNoNo
get_setup_statusCheck whether the account is in the SES sandbox, and get the next step toward a first sendNoNo
estimate_costEstimate monthly Wraps + AWS cost for a send volume, including which SES pricing plan the account is on. No AWS credentials neededNoNo
list_recent_sendsList recent sends from your email historyYesNo
get_email_event_logGet the full delivery event log for a message (Send, Delivery, Bounce, Complaint, Open, Click)YesNo
check_send_statusPoll the outcome of a pending_approval send by approvalId (enforced mode only)YesNo
list_contactsList contacts in your Wraps organization, optionally filtered by email status, SMS status, preferred channel, or a search string on email or phone.Yes (API key or wraps auth login)No
get_contactGet one contact in full, including its topic subscriptions.Yes (API key or wraps auth login)No
create_contactCreate one new contact.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true
update_contactChange one existing contact.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true
set_contact_topicsREPLACE the full topic subscription list of one contact.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true
delete_contactPermanently delete ONE contact by UUID, email, or externalId.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true
validate_contact_emailsCheck up to 100 email addresses with SES Email Address Insights and return a deliverability verdict (HIGH, MEDIUM, LOW, or UNKNOWN) for each.Yes (API key or wraps auth login)No
import_contactsImport up to 10,000 contacts in one call, with created, updated, skipped and invalid counts and the reason for each rejected row. duplicateStrategy: "update" changes existing contacts and needs confirm: true.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true (and confirm: true for update)
export_contactsExport the contacts that match optional filters, newest first, up to 1,000 rows per call. truncated says when more matched.Yes (API key or wraps auth login)No
get_account_healthGet the SES sending health of the connected AWS accounts: status, last check time, quota, reputation and reasons, for all accounts or one by its Wraps id.Yes (API key or wraps auth login)No
email_checkCheck a domain's SPF, DKIM, DMARC, MX and blacklist setup and return a grade with the issues that cost points. The request is public and rate limited to 10 per minute per IP.Yes (API key or wraps auth login); the request is sent without itNo
list_segmentsList the audience segments saved in this Wraps organization, with each segment's live member count.Yes (API key or wraps auth login)No
get_segmentGet one audience segment by id, including its full filter condition and live member count.Yes (API key or wraps auth login)No
preview_segmentPreview the audience an unsaved filter condition would reach, without saving a segment.Yes (API key or wraps auth login)No
create_segmentSave a new audience segment from a filter condition.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true
update_segmentChange an existing audience segment: rename it, edit its description, replace its condition, or toggle trackMembership.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true
delete_segmentPermanently delete an audience segment.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true
list_topicsList the organization's subscription topics with live audience counts: subscriberCount (opted in), sendableCount (a broadcast would reach now) and pendingCount (waiting on double opt-in).Yes (API key or wraps auth login)No
get_topicGet one subscription topic by id, with its audience counts (subscriberCount, sendableCount, pendingCount) and its creator.Yes (API key or wraps auth login)No
list_topic_subscribersList the contacts subscribed to one topic, filtered by status (subscribed, pending for double opt-in not yet confirmed, or unsubscribed).Yes (API key or wraps auth login)No
create_topicCreate a subscription topic that contacts can subscribe to and broadcasts can target.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true
update_topicChange a subscription topic's name, slug, description, public flag or double opt-in setting.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true
delete_topicPermanently delete a subscription topic and every subscription to it.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true
list_templatesList the Wraps email and SMS templates in your organization.Yes (API key or wraps auth login)No
get_templateGet one Wraps template by id: its metadata, status, variables, and by default its React Email source, compiled HTML, and compiled text.Yes (API key or wraps auth login)No
create_templateCreate a new Wraps email or SMS template as a DRAFT.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true
update_templateChange an existing Wraps template.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true
duplicate_templateCopy an existing Wraps template to start a variant.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true
publish_templatePublish a Wraps template to SES, so sends and workflows that use it get this content.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true
delete_templatePermanently delete up to 100 Wraps templates with their versions, and their published SES copies where no other template uses the same SES name. Refused with 409 (nothing deleted) while a draft, scheduled, queued or processing broadcast, or an enabled workflow, uses one.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true
list_broadcastsList broadcasts (email or SMS batch sends) for your organization, with their status and delivery counts.Yes (API key or wraps auth login)No
get_broadcastGet the status and delivery counts of ONE broadcast by id.Yes (API key or wraps auth login)No
list_broadcast_recipientsList the per-recipient outcome of one broadcast: who was sent to, and whether each send was delivered, bounced, suppressed or failed, with the error reason.Yes (API key or wraps auth login)No
get_broadcast_clicksGet the link-click breakdown for ONE broadcast: which URLs were clicked and how often, plus the unsubscribe click count.Yes (API key or wraps auth login)No
create_broadcastCreate a NEW broadcast as a draft.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true
update_broadcastEdit a DRAFT or a SCHEDULED broadcast: its content, sender, audience, template, AWS account or send time.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true
duplicate_broadcastCopy an existing broadcast into a NEW draft, whatever the status of the original.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true
send_broadcastSend a DRAFT broadcast to its audience, now or at scheduledFor.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true
resume_broadcastResume an email broadcast that stopped part-way, from the last chunk it finished, so recipients who were not yet sent to get the message.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true
cancel_broadcastCancel a broadcast that is scheduled, queued or processing, so the messages that have not gone out yet are not sent.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true
list_eventsList custom events tracked for this Wraps organization, newest first, optionally filtered by event name, contact, text search, or date range.Yes (API key or wraps auth login)No
get_eventGet one custom event by id: its name, properties, time, and the contact it belongs to.Yes (API key or wraps auth login)No
get_event_analyticsGet custom-event totals for this organization over the last 7 or 30 days: events in the period, active contacts, average events per contact, a zero-filled daily series, and the top event names.Yes (API key or wraps auth login)No
list_event_namesList every distinct custom event name recorded for this Wraps organization, sorted.Yes (API key or wraps auth login)No
track_eventRecord a custom event for one contact.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true
remove_suppressionRemove one address from the SES account-level suppression list of one AWS account, so Wraps sends to it again.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true
add_suppressionAdd one or more addresses to the SES account-level suppression list of one AWS account, so Wraps stops sending to them. Up to 100 per call; undo one at a time with remove_suppression.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true
list_workflowsList the email and SMS automation workflows in your Wraps organization, newest first, with status and execution counts.Yes (API key or wraps auth login)No
get_workflowGet one workflow by id, including its trigger config, steps and transitions, so you can see what it does before triggering it or changing its schedule.Yes (API key or wraps auth login)No
list_workflow_executionsList the executions of one workflow (one run per contact), newest first, each with its contact and status.Yes (API key or wraps auth login)No
get_workflow_executionGet one workflow execution by id, with its step trace (every step it reached and that step status), its contact, the workflow name and per-step engagement.Yes (API key or wraps auth login)No
enable_workflow_scheduleTurn on the recurring schedule of a schedule-triggered workflow by creating its next one-time run from a cron expression and timezone.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true
disable_workflow_scheduleTurn off the recurring schedule of a schedule-triggered workflow by deleting its pending scheduled run.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true
trigger_workflowStart one run of an API-triggered workflow for one contact, so the workflow steps begin for that contact now.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true
retry_workflow_executionRetry a failed workflow execution from the step where it failed.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true
cancel_workflow_executionCancel a workflow execution that is still running (pending, active, paused or waiting), so no further steps run for that contact and its scheduled steps are removed.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true
list_agent_approvalsList the approval queue for agents: the sends that an agent asked to make and that were held for a human decision.Yes (API key or wraps auth login)No
approve_agent_approvalApprove one send that an agent asked to make and that was held for a human decision, so Wraps sends it now.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true
reject_agent_approvalReject one send that an agent asked to make and that was held for a human decision, so it is never delivered.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true
list_agentsList the leashed agents in this organization: each one's address, send policy (caps and allowlists) and whether it is ACTIVE or KILLED.Yes (API key or wraps auth login)No
create_agentCreate a leashed agent: a named sender with its own email address and send policy. Recorded in Wraps only; its AWS resources are deployed with the CLI.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true
kill_agentKill one leashed agent so it can no longer send. Irreversible; a kill that does not reach the enforcer is reported as incomplete. Not registered in enforced mode.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true
set_agent_policyReplace one leashed agent's send policy (hourly and daily caps and recipient allowlists) in full. Overwrites the previous policy. Not registered in enforced mode.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true
get_email_metricsGet aggregate email sending metrics for this organization over a time window: sent, delivered, bounced (split into permanent, transient and undetermined), complained, suppressed, opened, clicked, failed, and an estimated costUsd.Yes (API key or wraps auth login)No
list_inbound_emailsList one page of parsed inbound emails that the customer's SES inbound bucket received, across the organization's connected AWS accounts.Yes (API key or wraps auth login)No
get_inbound_emailGet one parsed inbound email from the customer's SES inbound bucket by emailId, with its from/to/cc, subject, date, headers, text body, HTML body and attachment metadata.Yes (API key or wraps auth login)No
list_brand_kitsList the organization's brand kits: name, logo, colors, fonts, button style, company details and social links, with isDefault marking the one default kit.Yes (API key or wraps auth login)No
get_brand_kitGet one brand kit by id: logo, colors, fonts, button style, company details, social links, and isDefault.Yes (API key or wraps auth login)No
create_brand_kitCreate a brand kit: a name, logo, colors, fonts, button style, company details and social links that email templates can use.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true
update_brand_kitChange one or more fields of a brand kit: name, logo, colors, fonts, button style, company details, social links.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true
set_default_brand_kitMake one brand kit the default for the organization.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true
delete_brand_kitDelete a brand kit permanently.Yes (API key or wraps auth login)Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true

The API-backed rows ("Needs Wraps?" = Yes) need a Wraps API credential. See Wraps API tools.

Setup

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

json
{  "mcpServers": {    "wraps": {      "command": "npx",      "args": ["-y", "@wraps.dev/mcp"],      "env": {        "AWS_REGION": "us-east-1",        "AWS_PROFILE": "your-aws-profile"      }    }  }}

Claude Code

Add to .mcp.json in your project root:

json
{  "mcpServers": {    "wraps": {      "command": "npx",      "args": ["-y", "@wraps.dev/mcp"],      "env": {        "AWS_REGION": "us-east-1"      }    }  }}

Set AWS_REGION to the region your Wraps stack is deployed in — SES identities are per-region, and a domain verified in another region reads as "not found". Claude Code inherits your shell's AWS environment, so you can drop the env block entirely if AWS_REGION (or a region in your active AWS profile) is already set there; the server fails at startup if neither supplies one.

Configuration

All configuration is via environment variables.

VariableRequiredDefaultDescription
AWS_REGIONYes*—AWS region where your Wraps stack is deployed. *Required unless your active AWS profile (~/.aws/config) supplies a region — the server resolves AWS_REGION, then AWS_DEFAULT_REGION, then the profile, and errors at startup if none of them do.
WRAPS_HISTORY_TABLE_NAMENowraps-email-historyDynamoDB table name for email history
WRAPS_ACCOUNT_IDNoauto-detected via STSYour AWS account ID (skip STS call if set)
WRAPS_WRITE_ENABLEDNofalseSet to true to enable send_email and every write or destructive API-backed tool
WRAPS_FROM_EMAILNo—Default from address for send_email
WRAPS_API_KEYNo—Wraps API key (wraps_...) for the API-backed tools. Without it, the session from wraps auth login is used
WRAPS_API_URLNohttps://api.wraps.devWraps API base URL. Set it for a self-hosted control plane
WRAPS_ORG_IDNo—Organization to act in when the session belongs to several. Sent as x-organization-id

Wraps API tools

The tools marked "Needs Wraps? Yes (API key or wraps auth login)" call the Wraps API for your organization. They register at startup only when a credential is present. The server uses the first of these that it finds:

  1. WRAPS_API_KEY, a wraps_... key.
  2. The unexpired session stored by wraps auth login (or wraps selfhost login for a self-hosted instance).

With neither, only the AWS tools register. An expired or revoked credential does not stop startup; the call returns a tool error that names the fix.

Write tools need WRAPS_WRITE_ENABLED=true. Destructive tools also need confirm: true in the call, so set it only after the user has confirmed the change. When WRAPS_AGENT_ID is set (enforced mode), approve_agent_approval, reject_agent_approval, create_agent, kill_agent and set_agent_policy are not registered. list_agents stays registered.

json
{  "mcpServers": {    "wraps": {      "command": "npx",      "args": ["-y", "@wraps.dev/mcp"],      "env": {        "AWS_REGION": "us-east-1",        "WRAPS_API_KEY": "wraps_..."      }    }  }}

Write Mode

send_email and the other write tools are disabled by default. Set WRAPS_WRITE_ENABLED=true to enable them. The from address must be a domain verified in your SES account.

json
{  "mcpServers": {    "wraps": {      "command": "npx",      "args": ["-y", "@wraps.dev/mcp"],      "env": {        "AWS_REGION": "us-east-1",        "WRAPS_WRITE_ENABLED": "true",        "WRAPS_FROM_EMAIL": "[email protected]"      }    }  }}

Send guardrails

When write mode is enabled, the send_email tool can reach any SES-verified address by default. Use these env vars to restrict the agent's sending scope:

VariableDefaultDescription
WRAPS_ALLOWED_RECIPIENTS— (no restriction)Comma-separated exact addresses the agent may send to. If set, any address not in this list (or WRAPS_ALLOWED_RECIPIENT_DOMAINS) is rejected.
WRAPS_ALLOWED_RECIPIENT_DOMAINS— (no restriction)Comma-separated domains (e.g. company.com,partner.org) the agent may send to. Combined with WRAPS_ALLOWED_RECIPIENTS; a recipient is allowed if it matches either list. Matching is exact: example.com allows [email protected] but NOT subdomains like [email protected] — list each subdomain explicitly.
WRAPS_MAX_RECIPIENTS50Maximum number of recipients per send_email call.
WRAPS_ALLOW_FROM_OVERRIDEfalseSet to true to let the agent supply a from address that differs from WRAPS_FROM_EMAIL. When false (default), the caller-supplied from is rejected if it does not match the configured address.

Note: Running with WRAPS_WRITE_ENABLED=true and no allowlist gives the agent unrestricted send capability to any address in your SES account.

Asking for missing input (elicitation)

If your MCP client supports elicitation, send_email asks you for input it is missing instead of failing. It never asks you to confirm an ordinary send, and it asks only after the write, recipient-count and allowlist checks above have passed.

  • No sender. If the call has no from and WRAPS_FROM_EMAIL is not set, the client prompts for the sender address.
  • SES sandbox. If SES rejects the recipient because the account is in the sandbox, the client offers to send the message to the AWS mailbox simulator ([email protected]) instead, to prove sending works. This happens once, and the simulator address must pass your recipient allowlist. The result says the message went to the simulator and not to the original recipient.

If you decline or cancel, or the client does not support elicitation, you get the same error as before. No setting is needed. Enforced mode does not use elicitation; its approvals stay with the operator.

Enforced mode (agent enforcer)

For agents provisioned via wraps email agent create, the MCP server runs in enforced mode. The agent's AWS credential can only invoke a customer-side enforcer Lambda — never SES directly. All policy (kill-switch, recipient allowlist, hourly/daily caps) is decided by that Lambda, so the local guardrails above are skipped.

VariableRequiredDescription
WRAPS_AGENT_IDYes (for enforced mode)The agent's ID. Enables enforced mode when set together with the enforcer function.
WRAPS_AGENT_ENFORCER_ARNYes (for enforced mode)Qualified per-agent alias ARN of the customer's wraps-agent-enforcer Lambda (arn:aws:lambda:<region>:<acct>:function:wraps-agent-enforcer:agent-<agentId>). A bare function name or unqualified ARN invokes $LATEST, which the enforcer treats as a platform caller and blocks agent sends.

When both are set, send_email invokes the enforcer instead of SES and returns a structured disposition rather than an error for policy outcomes:

  • sent — delivered, with messageId.
  • pending_approval — an operator must approve; poll check_send_status with the returned approvalId.
  • blocked — refused by policy (kill-switch, allowlist, or caps), with a reason.

Only transport or configuration failures are returned as errors. The check_send_status tool is registered only in enforced mode.

Enforced mode supports a single recipient per send. Pass one address as a string, or a one-element array; a to array with more than one recipient is rejected as an error (send one email per recipient). Note that WRAPS_ALLOWED_RECIPIENTS, WRAPS_ALLOWED_RECIPIENT_DOMAINS, WRAPS_MAX_RECIPIENTS, and WRAPS_ALLOW_FROM_OVERRIDE do not apply in enforced mode — recipient and sender policy is enforced entirely by the Lambda.

Replies and threading

Enforced-mode send_email accepts three optional fields for conversational sends — an SDR sequence, a scheduling follow-up, anything where a human replies:

FieldPurpose
replyToA single address where a human's reply should land. Without it, replies reach the agent's own mailbox — right for support@, wrong when a person should pick the conversation up.
inReplyToMessage-ID of the message being replied to, e.g. <[email protected]>.
referencesSpace-separated Message-ID chain of the conversation so far. Set it alongside inReplyTo so a follow-up threads instead of arriving as an orphan.

replyTo does not loosen sender pinning: from is still forced to the agent's own verified identity, and pointing replyTo at a teammate is the intended use. The enforcer rejects a replyTo carrying more than one address, and rejects inReplyTo/references containing newlines or non-printable characters — both come back as a blocked disposition with a reason, and neither consumes a rate-limit slot.

Requires an enforcer Lambda built from @wraps/core 2026-08-28 or later; against an older enforcer the fields are ignored rather than erroring.

License

MIT

来源:packages/mcp/README.md,提交 f232d41

工具

7

send_email

Send a transactional email via your AWS SES account. Requires WRAPS_WRITE_ENABLED=true. The `from` address must be a verified SES identity (an address or domain) in this account and region. The `to` field accepts a single address or an array of addresses.

输入参数to必填fromhtmltextsubject必填

list_recent_sends

List recently sent emails from your Wraps email history, newest first, at most `limit` messages. The timestamp shown is the send time and is stable across calls. Returns send status, subject, recipient, timestamp, and messageId for each send. Use the messageId with get_email_event_log for full delivery details. The `since` parameter accepts a full ISO 8601 datetime string (e.g., 2024-01-01T00:00:00Z).

输入参数limitsince

get_email_event_log

Get the full delivery event log for a specific email by its messageId. Returns all SES events: Send, Delivery, Bounce, Complaint, Open, Click.

输入参数messageId必填

verify_domain_status

Check the verification and DKIM status of a sending domain in your AWS SES account. Returns whether the domain is verified for sending and its DKIM configuration status.

输入参数domain必填

list_suppressions

List addresses on your AWS SES account-level suppression list, or check a single address with `email`. SES silently drops mail to suppressed addresses, and sending to them damages your sending reputation, so check before sending to an address you have not sent to recently. To determine whether one specific address is suppressed, always pass `email` — that is an exact lookup. The listing is paginated and states explicitly when it is truncated; a truncated listing is never proof that an address is unsuppressed. Optionally filter the listing by reason (BOUNCE or COMPLAINT).

输入参数emaillimitreason

get_setup_status

Check this AWS SES account's sandbox status and get a recommended next action for getting a first send out. Read-only — makes no changes to your AWS account.

无需输入参数。

estimate_cost

Estimate the monthly cost of sending email with Wraps + AWS: the flat Wraps plan fee and an itemized AWS bill (SES, EventBridge, SQS, Lambda, DynamoDB, dedicated IP, WAF). Use this instead of calculating by hand — the cost model has several interacting variables, including which SES pricing plan the AWS account is on. Requires no AWS credentials.

输入参数tieremails必填billingsesPlantrackingretentiondedicatedIp

版本历史

6
  1. v0.11.1最新Nov 3, 2026
  2. v0.10.0Oct 31, 2026
  3. v0.9.0Oct 23, 2026
  4. v0.8.2Sep 25, 2026
  5. v0.8.1Sep 24, 2026
  6. v0.8.0Sep 16, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Wraps 集成