# SMTPing

```json
{
  "name": "SMTPing",
  "slug": "smtping",
  "url": "https://composio.dev/toolkits/smtping",
  "markdown_url": "https://composio.dev/toolkits/smtping.md",
  "logo_url": "https://logos.composio.dev/api/smtping",
  "categories": [
    "developer tools & devops"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-11-06T05:32:27.147Z"
}
```

![SMTPing logo](https://logos.composio.dev/api/smtping)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with SMTPing MCP or direct API to verify email addresses, check threat lists, inspect account credits, and review usage through natural language.

## Summary

SMTPing is an email verification service for validating addresses, checking threat lists, and monitoring account usage.
It helps teams reduce bounced emails and protect sender reputation.

## Categories

- developer tools & devops

## Toolkit Details

- Tools: 14

## Images

- Logo: https://logos.composio.dev/api/smtping

## Authentication

- **Api Key**
  - Type: `api_key`
  - Description: Api Key authentication for SMTPing.
  - Setup:
    - Configure Api Key credentials for SMTPing.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- Verify an email address before sending
- Check an address against threat lists
- Review SMTPing credits and API usage

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `SMTPING_CHECK_EMAIL` | Check Email | Check one email address against one selected SMTPing threat list and report whether it matched. Consumes one credit; SMTPing limits synchronous calls to 10 per minute. |
| `SMTPING_CHECK_EMAIL_BATCH` | Check Email Batch | Synchronously check 1 to 1,000 email addresses against one selected SMTPing threat list and return all results. Consumes one credit per unique address; SMTPing limits synchronous calls to 10 per minute. |
| `SMTPING_CHECK_EMAIL_FLAGS` | Check Email Flags | Return all six SMTPing risk and domain flags for one email address in one request. Consumes one credit; SMTPing limits synchronous calls to 10 per minute. |
| `SMTPING_CREATE_BULK_CHECK_JOB` | Create Bulk Check Job | Start an asynchronous SMTPing threat-list check for 1 to 100,000 email addresses. Returns a job ID for status polling and consumes one credit per unique address. SMTPing limits job submissions to two per hour. |
| `SMTPING_CREATE_BULK_VERIFICATION_JOB` | Create Bulk Verification Job | Start asynchronous verification for 1 to 100,000 email addresses and return the job ID to use for status polling and result retrieval. Consumes one credit per unique address as work completes; duplicates and unknown results are free. SMTPing limits job submissions to two per hour. |
| `SMTPING_EXPORT_USAGE` | Export Usage | Download SMTPing usage history as a CSV file for the provider's default date range. No date filters are exposed because none are documented. |
| `SMTPING_GET_BULK_CHECK_JOB` | Get Bulk Check Job | Get progress and match counts for an asynchronous threat-list check job. Poll every 20 to 30 seconds until status is Succeeded or Completed before fetching results; polling is free. |
| `SMTPING_GET_BULK_CHECK_RESULTS` | Get Bulk Check Results | Return all address-level matches for a bulk threat-list check job after its status is Succeeded or Completed. Returns 409 while incomplete; fetching results is free. |
| `SMTPING_GET_BULK_VERIFICATION_JOB` | Get Bulk Verification Job | Get progress and summary counts for an asynchronous bulk verification job. Poll every 20 to 30 seconds until status is Succeeded before fetching results; polling is free. |
| `SMTPING_GET_BULK_VERIFICATION_RESULTS` | Get Bulk Verification Results | Return all address-level results for a bulk verification job after its status is Succeeded. Returns 409 while the job is incomplete; fetching results is free. |
| `SMTPING_GET_CREDITS` | Get Credits | Return the connected account's current credit balance, plan, and daily remaining credits. This free read is the balance source of truth. |
| `SMTPING_GET_USAGE` | Get Usage | Return aggregate request, email, credit, status, endpoint, and error usage for SMTPing's current default date range. No date filters are exposed because none are documented or verified. This account read is free. |
| `SMTPING_LIST_USAGE_REQUESTS` | List Usage Requests | Return the newest available page of individual SMTPing API request history, up to the provider default of 50 rows, with page metadata. No continuation input is exposed because request-side pagination parameters are undocumented and unverified. |
| `SMTPING_VERIFY_EMAIL` | Verify Email | Verify one email address and return its deliverability status and domain flags. SMTPing charges one credit unless the result is unknown and limits synchronous calls to 10 per minute. Source: https://smtping.com/openapi.json#/paths/~1verify~1single/post |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK, the OpenAI provider, and the OpenAI SDK
```python
pip install composio composio_openai openai
```

```typescript
npm install @composio/core @composio/openai openai
```

#### Path 1, Step 2: Create a Composio session

Initialize Composio with the OpenAI Responses provider and create a session scoped to SMTPing
```python
import json
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
client = OpenAI()

session = composio.create(user_id="your-user-id", toolkits=["smtping"])
tools = session.tools()
```

```typescript
import OpenAI from "openai";
import { Composio } from "@composio/core";
import { OpenAIResponsesProvider } from "@composio/openai";

const composio = new Composio({ provider: new OpenAIResponsesProvider() });
const client = new OpenAI();

const session = await composio.create("your-user-id", { toolkits: ["smtping"] });
const tools = await session.tools();
```

#### Path 1, Step 3: Run SMTPing tools with your agent

Send a request, execute the SMTPing tool calls through the session, and print the final answer
```python
response = client.responses.create(
    model="gpt-5.6-sol",
    tools=tools,
    input=[{"role": "user", "content": "Verify whether alice@example.com is deliverable and check it against threat lists"}],
)

while True:
    tool_calls = [o for o in response.output if o.type == "function_call"]
    if not tool_calls:
        break
    results = composio.provider.handle_tool_calls(response=response, session=session)
    response = client.responses.create(
        model="gpt-5.6-sol",
        tools=tools,
        previous_response_id=response.id,
        input=[
            {"type": "function_call_output", "call_id": call.call_id, "output": json.dumps(results[i])}
            for i, call in enumerate(tool_calls)
        ],
    )

print(response.output_text)
```

```typescript
let response = await client.responses.create({
  model: "gpt-5.6-sol",
  tools,
  input: [{ role: "user", content: "Verify whether alice@example.com is deliverable and check it against threat lists" }],
});

while (response.output.some((o) => o.type === "function_call")) {
  const outputs = await composio.provider.handleToolCalls(session, response.output);
  response = await client.responses.create({
    model: "gpt-5.6-sol",
    tools,
    previous_response_id: response.id,
    input: outputs,
  });
}

console.log(response.output_text);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK and your agent framework
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/mcp @ai-sdk/openai
```

#### Path 2, Step 2: Create a session with MCP enabled

Create a session scoped to SMTPing and read its MCP URL and headers
```python
from composio import Composio

composio = Composio()
session = composio.create(user_id="your-user-id", toolkits=["smtping"], mcp=True)
```

```typescript
import { Composio } from "@composio/core";

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["smtping"],
  mcp: true,
});
```

#### Path 2, Step 3: Connect your agent to the MCP server

Pass the session's MCP URL and headers to your agent and run a SMTPing request
```python
import asyncio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions, AssistantMessage, TextBlock

options = ClaudeAgentOptions(
    mcp_servers={
        "composio": {
            "type": "http",
            "url": session.mcp.url,
            "headers": session.mcp.headers,
        }
    },
    system_prompt="You are a helpful assistant with access to SMTPing tools.",
    tools=[],
    allowed_tools=["mcp__composio__*"],
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query("Verify whether alice@example.com is deliverable and check it against threat lists")
        async for message in client.receive_response():
            if isinstance(message, AssistantMessage):
                for block in message.content:
                    if isinstance(block, TextBlock):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { createMCPClient } from "@ai-sdk/mcp";
import { openai } from "@ai-sdk/openai";
import { generateText, stepCountIs } from "ai";

const client = await createMCPClient({
  transport: { type: "http", url: mcp.url, headers: mcp.headers },
});

const { text } = await generateText({
  model: openai("gpt-5.6-sol"),
  tools: await client.tools(),
  prompt: "Verify whether alice@example.com is deliverable and check it against threat lists",
  stopWhen: stepCountIs(10),
});

console.log(text);
await client.close();
```

## Why Use Composio?

### 1. AI Native SMTPing Integration

- Supports both SMTPing MCP and direct API integrations
- Structured, LLM-friendly schemas for reliable email verification and account checks
- Rich coverage for validating addresses, checking threats, and querying SMTPing usage

### 2. Managed Auth

- Securely connect your SMTPing API key without hard-coding it into agent prompts or application logic
- Central place to manage, scope, and revoke SMTPing access
- Per user and per environment credentials instead of shared keys

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access SMTPing
- Scoped, least privilege access to SMTPing verification and account resources
- Full audit trail of agent actions to support review and compliance

## Use SMTPing with any AI Agent Framework

Choose a framework you want to connect SMTPing with:

- [ChatGPT](https://composio.dev/toolkits/smtping/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/smtping/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/smtping/framework/hermes-agent)
- [Atomic Agent](https://composio.dev/toolkits/smtping/framework/atomic-agent)

## Related Toolkits

- [Supabase](https://composio.dev/toolkits/supabase) - Supabase is an open-source backend platform offering scalable Postgres databases, authentication, storage, and real-time APIs. It lets developers build modern apps without managing infrastructure.
- [Codeinterpreter](https://composio.dev/toolkits/codeinterpreter) - Codeinterpreter is a Python-based coding environment with built-in data analysis and visualization. It lets you instantly run scripts, plot results, and prototype solutions inside supported platforms.
- [GitHub](https://composio.dev/toolkits/github) - GitHub is a code hosting platform for version control and collaborative software development. It streamlines project management, code review, and team workflows in one place.
- [1password](https://composio.dev/toolkits/_1password) - 1Password is a password manager and digital vault for storing logins, secrets, notes, and secure documents. It helps individuals and teams protect credentials, share access safely, and reduce password risk.
- [Ably](https://composio.dev/toolkits/ably) - Ably is a real-time messaging platform for live chat and data sync in modern apps. It offers global scale and rock-solid reliability for seamless, instant experiences.
- [Abuselpdb](https://composio.dev/toolkits/abuselpdb) - Abuselpdb is a central database for reporting and checking IPs linked to malicious online activity. Use it to quickly identify and report suspicious or abusive IP addresses.
- [Alchemy](https://composio.dev/toolkits/alchemy) - Alchemy is a blockchain development platform offering APIs and tools for Ethereum apps. It simplifies building and scaling Web3 projects with robust infrastructure.
- [Algolia](https://composio.dev/toolkits/algolia) - Algolia is a hosted search API that powers lightning-fast, relevant search experiences for web and mobile apps. It helps developers deliver instant, typo-tolerant, and scalable search without complex infrastructure.
- [Anakin](https://composio.dev/toolkits/anakin_io) - Anakin is a web automation platform offering scraping, crawling, search, and browser automation. Use it to extract structured data, automate site tasks, and monitor web changes reliably.
- [Anchor browser](https://composio.dev/toolkits/anchor_browser) - Anchor browser is a developer platform for AI-powered web automation. It transforms complex browser actions into easy API endpoints for streamlined web interaction.
- [Apiflash](https://composio.dev/toolkits/apiflash) - Apiflash is a website screenshot API for programmatically capturing web pages. It delivers high-quality screenshots on demand for automation, monitoring, or reporting.
- [Apiverve](https://composio.dev/toolkits/apiverve) - Apiverve delivers a suite of powerful APIs that simplify integration for developers. It's designed for reliability and scalability so you can build faster, smarter applications without the integration headache.
- [Appcircle](https://composio.dev/toolkits/appcircle) - Appcircle is an enterprise-grade mobile CI/CD platform for building, testing, and publishing mobile apps. It streamlines mobile DevOps so teams ship faster and with more confidence.
- [Appdrag](https://composio.dev/toolkits/appdrag) - Appdrag is a cloud platform for building websites, APIs, and databases with drag-and-drop tools and code editing. It accelerates development and iteration by combining hosting, database management, and low-code features in one place.
- [Appveyor](https://composio.dev/toolkits/appveyor) - AppVeyor is a cloud-based continuous integration service for building, testing, and deploying applications. It helps developers automate and streamline their software delivery pipelines.
- [Authyo](https://composio.dev/toolkits/authyo) - Authyo is a REST API service for passwordless authentication, OTP verification, session management, and transactional notifications. Use it to add secure login flows and user verification without building auth infrastructure from scratch.
- [AWS Marketplace MCP](https://composio.dev/toolkits/aws_marketplace_mcp) - AWS Marketplace MCP provides MCP access to AWS Marketplace's cloud software, data, and services catalog. Use it to discover, compare, and evaluate 30K+ AWS Marketplace listings faster.
- [Azure Monitor Activity Log](https://composio.dev/toolkits/azure_monitor_activity_log) - Azure Monitor Activity Log is Azure's service that records management and control-plane events for a subscription. Use it to audit changes, troubleshoot issues, and track resource operations across your Azure resources.
- [Backendless](https://composio.dev/toolkits/backendless) - Backendless is a backend-as-a-service platform for mobile and web apps, offering database, file storage, user authentication, and APIs. It helps developers ship scalable applications faster without managing server infrastructure.
- [Baserow](https://composio.dev/toolkits/baserow) - Baserow is an open-source no-code database platform for building collaborative data apps. It makes it easy for teams to organize data and automate workflows without writing code.

## Frequently Asked Questions

### Do I need my own developer credentials to use SMTPing with Composio?

Yes, SMTPing requires you to configure your own API key. Once set up, Composio handles secure credential storage and API request handling for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
