{
  "schemaVersion": "1.0",
  "item": {
    "slug": "mailtap",
    "name": "Mailtap",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/zororaka00/mailtap",
    "canonicalUrl": "https://clawhub.ai/zororaka00/mailtap",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/mailtap",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=mailtap",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "openapi.json",
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/mailtap"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/mailtap",
    "agentPageUrl": "https://openagent3.xyz/skills/mailtap/agent",
    "manifestUrl": "https://openagent3.xyz/skills/mailtap/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/mailtap/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "MailTap - Temporary Email Service",
        "body": "Version: 1.0.4\nAuthor: Web3 Hungry\nAuthor Handle: @zororaka00\nAuthor Profile: https://x.com/web3hungry\nHomepage: https://www.mailtap.org\nCategory: Utilities → Automation → Privacy & Verification\nTags: temporary-email"
      },
      {
        "title": "Overview",
        "body": "This skill provides seamless access to the MailTap Public API, a free temporary email service that generates disposable email addresses valid for 30 minutes.\n\nNo authentication or API key is required — all endpoints are public and use simple HTTP GET requests.\n\nThis skill does not store, proxy, or modify any email data. All operations communicate directly with the official MailTap public API.\n\nIdeal for AI agents performing tasks such as:\n\nRegistering on websites/services without exposing real email addresses\nCapturing verification codes, one-time links, or confirmation emails\nAutomating web3 airdrops, form submissions, or testing flows that require email verification\nPrivacy-focused workflows where email traceability must be avoided\nDownloading email attachments when available\n\nBase URL: https://api.mailtap.org\n\nAll responses are returned in JSON format."
      },
      {
        "title": "Core Capabilities",
        "body": "The skill exposes three primary endpoints:\n\nGenerate a new temporary email address\nRetrieve details of an existing email address\nFetch all messages in the inbox (including attachments metadata)\n\nAgents can chain operations autonomously (generate → wait → poll inbox → extract data → download attachments)."
      },
      {
        "title": "Usage Guide for Agents",
        "body": "Agents should use standard HTTP tools (curl, fetch, requests, etc.) to interact with the API."
      },
      {
        "title": "1. Generate New Temporary Email",
        "body": "curl \"https://api.mailtap.org/public/generate\"\n\nExample response:\n\n{\n  \"address\": \"abc123xyz@mailtap.com\",\n  \"expires_at\": \"2026-02-15T04:30:00.000Z\",\n  \"created_at\": \"2026-02-15T04:00:00.000Z\"\n}"
      },
      {
        "title": "2. Get Email Details",
        "body": "curl \"https://api.mailtap.org/public/email/{address}\""
      },
      {
        "title": "3. Get Inbox Messages",
        "body": "curl \"https://api.mailtap.org/public/inbox/{address}\"\n\nExample response with attachment:\n\n{\n  \"messages\": [\n    {\n      \"id\": 1,\n      \"from_address\": \"no-reply@example.com\",\n      \"subject\": \"Your document\",\n      \"body\": \"Please find the attached file.\",\n      \"received_at\": \"2026-02-15T04:05:00.000Z\",\n      \"attachments\": [\n        {\n          \"filename\": \"document.pdf\",\n          \"mime_type\": \"application/pdf\",\n          \"size\": 102400,\n          \"r2_key\": \"attachments/abc123/document.pdf\"\n        }\n      ]\n    }\n  ]\n}"
      },
      {
        "title": "4. Download Attachments",
        "body": "Attachments are publicly downloadable via the S3-compatible URL:\n\nhttps://s3.mailtap.org/{r2_key}\n\nExample:\n\ncurl -O \"https://s3.mailtap.org/attachments/abc123/document.pdf\"\n\nor\n\nwget \"https://s3.mailtap.org/attachments/abc123/document.pdf\""
      },
      {
        "title": "Recommended Agent Workflow Patterns",
        "body": "Verification flow:\n\nGenerate email\nUse for signup\nPoll inbox\nExtract verification code\n\nAttachment flow:\n\nPoll inbox\nIf attachments exist → download\nProcess files\n\nError handling:\n\nIf 404 → email expired → generate new address"
      },
      {
        "title": "Example Prompts for Agents",
        "body": "\"Generate a new temporary email using MailTap\"\n\"Check inbox for abc123@mailtap.com and download attachments\"\n\"Create temp email, wait up to 2 minutes, extract verification code\""
      },
      {
        "title": "Python Helper Library (Enhanced)",
        "body": "import requests\nimport time\nimport os\nfrom pathlib import Path\nfrom typing import Optional, Dict, Any\n\nBASE_URL = \"https://api.mailtap.org\"\nATTACHMENT_BASE = \"https://s3.mailtap.org\"\n\n# Whitelisted attachment types for security\nWHITELISTED_MIME_TYPES = {\n    \"application/pdf\",\n    \"image/jpeg\", \"image/png\", \"image/gif\",\n    \"text/plain\", \"text/csv\", \"text/html\",\n    \"application/msword\", \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n    \"application/vnd.ms-excel\", \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"\n}\n\nMAX_FILE_SIZE_MB = 10  # Maximum 10MB for security\n\n\ndef generate_email() -> Dict[str, Any]:\n    \"\"\"Generates a new temporary email address.\"\"\"\n    response = requests.get(f\"{BASE_URL}/public/generate\")\n    response.raise_for_status()\n    return response.json()\n\n\ndef get_inbox(address: str) -> Dict[str, Any]:\n    \"\"\"Retrieves the inbox for a given address.\"\"\"\n    response = requests.get(f\"{BASE_URL}/public/inbox/{address}\")\n    if response.status_code == 404:\n        return {\"error\": \"Email not found or expired\"}\n    response.raise_for_status()\n    return response.json()\n\n\ndef wait_for_message(address: str, timeout: int = 120, interval: int = 10) -> Dict[str, Any]:\n    \"\"\"Polls the inbox until a message arrives or timeout is reached.\"\"\"\n    start_time = time.time()\n    while time.time() - start_time < timeout:\n        inbox = get_inbox(address)\n        if \"error\" not in inbox and inbox.get(\"messages\"):\n            return inbox[\"messages\"][-1]\n        time.sleep(interval)\n    return {\"error\": \"Timeout\"}\n\n\ndef is_safe_attachment(attachment: Dict[str, Any]) -> bool:\n    \"\"\"Validates attachment safety based on MIME type and size.\"\"\"\n    mime_type = attachment.get(\"mime_type\", \"\")\n    size_mb = attachment.get(\"size\", 0) / (1024 * 1024)\n    \n    if mime_type not in WHITELISTED_MIME_TYPES:\n        return False\n    if size_mb > MAX_FILE_SIZE_MB:\n        return False\n    return True\n\n\ndef download_attachment(r2_key: str, save_path: Optional[str] = None) -> str:\n    \"\"\"Downloads an attachment from the mailtap S3 storage with security checks.\"\"\"\n    \n    # Parse attachment info from r2_key\n    parts = r2_key.split(\"/\")\n    if len(parts) < 2:\n        raise ValueError(\"Invalid r2_key format\")\n    \n    filename = parts[-1]\n    if not filename or \"..\" in filename:\n        raise ValueError(\"Invalid filename detected\")\n    \n    url = f\"{ATTACHMENT_BASE}/{r2_key}\"\n    \n    # Get attachment metadata first\n    response = requests.head(url, allow_redirects=True)\n    response.raise_for_status()\n    \n    # Validate content type and size\n    content_type = response.headers.get(\"content-type\", \"\")\n    content_length = response.headers.get(\"content-length\")\n    \n    if content_type not in WHITELISTED_MIME_TYPES:\n        raise ValueError(f\"Unsafe MIME type: {content_type}\")\n    \n    if content_length:\n        size_mb = int(content_length) / (1024 * 1024)\n        if size_mb > MAX_FILE_SIZE_MB:\n            raise ValueError(f\"File too large: {size_mb:.1f}MB (max {MAX_FILE_SIZE_MB}MB)\")\n    \n    # Download the file\n    response = requests.get(url, stream=True)\n    response.raise_for_status()\n    \n    if save_path is None:\n        save_path = filename\n    \n    # Ensure safe save path\n    save_path = Path(save_path)\n    save_path = save_path.resolve()\n    \n    # Create directory if needed\n    save_path.parent.mkdir(parents=True, exist_ok=True)\n    \n    with open(save_path, \"wb\") as f:\n        for chunk in response.iter_content(8192):\n            f.write(chunk)\n    \n    return str(save_path)\n\n\ndef list_attachments(address: str) -> list:\n    \"\"\"Lists all attachments in inbox with security validation.\"\"\"\n    inbox = get_inbox(address)\n    if \"error\" in inbox:\n        return []\n    \n    safe_attachments = []\n    for message in inbox.get(\"messages\", []):\n        for attachment in message.get(\"attachments\", []):\n            if is_safe_attachment(attachment):\n                safe_attachments.append(attachment)\n    \n    return safe_attachments"
      },
      {
        "title": "1. Attachment Validation",
        "body": "MIME Type Whitelisting: Only allows common safe file types (PDF, images, text, office documents)\nSize Limitation: Maximum 10MB per file to prevent large file attacks\nFilename Sanitization: Prevents path traversal attacks by validating filenames"
      },
      {
        "title": "2. Safe Download Process",
        "body": "Metadata Validation: Checks content type and size before downloading\nSandboxed Download: Uses safe path resolution to prevent directory traversal\nStreamed Download: Downloads in chunks to prevent memory exhaustion"
      },
      {
        "title": "3. Agent Safety Guidelines",
        "body": "Never auto-execute: Agents should never automatically execute downloaded files\nValidate before use: Always validate file type and content before processing\nUse in sandbox: For untrusted files, use in isolated environment"
      },
      {
        "title": "Important Notes & Limitations",
        "body": "Emails expire automatically after 30 minutes.\nAttachments are public.\nNo authentication required.\nRate limits are generous for normal usage.\nSecurity-first approach: All downloads are validated for safety.\nNo automatic execution: Agents must manually validate and process files.\nUser responsibility: Users should still exercise caution with unknown attachments."
      },
      {
        "title": "Example Secure Workflow",
        "body": "# Secure attachment handling\naddress = \"test123@mailtap.com\"\n\n# Get inbox and list safe attachments\nattachments = list_attachments(address)\n\nfor attachment in attachments:\n    try:\n        # Download with validation\n        file_path = download_attachment(attachment[\"r2_key\"])\n        print(f\"Downloaded safe file: {file_path}\")\n        \n        # Process file (in sandbox if possible)\n        # process_file(file_path)\n        \n    except Exception as e:\n        print(f\"Failed to download {attachment['filename']}: {e}\")"
      },
      {
        "title": "Source & Verification",
        "body": "Official service: https://www.mailtap.org\nAPI root: https://api.mailtap.org\n\nThis skill is a transparent wrapper around the public MailTap API with enhanced security measures."
      },
      {
        "title": "Disclaimer",
        "body": "Use responsibly and comply with MailTap terms of service. While security measures are implemented, users should still exercise caution when handling email attachments from unknown sources.\n\nCreated and maintained by Web3 Hungry.\nUpdated for security compliance."
      }
    ],
    "body": "MailTap - Temporary Email Service\n\nVersion: 1.0.4\nAuthor: Web3 Hungry\nAuthor Handle: @zororaka00\nAuthor Profile: https://x.com/web3hungry\nHomepage: https://www.mailtap.org\nCategory: Utilities → Automation → Privacy & Verification\nTags: temporary-email\n\nOverview\n\nThis skill provides seamless access to the MailTap Public API, a free temporary email service that generates disposable email addresses valid for 30 minutes.\n\nNo authentication or API key is required — all endpoints are public and use simple HTTP GET requests.\n\nThis skill does not store, proxy, or modify any email data. All operations communicate directly with the official MailTap public API.\n\nIdeal for AI agents performing tasks such as:\n\nRegistering on websites/services without exposing real email addresses\nCapturing verification codes, one-time links, or confirmation emails\nAutomating web3 airdrops, form submissions, or testing flows that require email verification\nPrivacy-focused workflows where email traceability must be avoided\nDownloading email attachments when available\n\nBase URL: https://api.mailtap.org\n\nAll responses are returned in JSON format.\n\nCore Capabilities\n\nThe skill exposes three primary endpoints:\n\nGenerate a new temporary email address\nRetrieve details of an existing email address\nFetch all messages in the inbox (including attachments metadata)\n\nAgents can chain operations autonomously (generate → wait → poll inbox → extract data → download attachments).\n\nUsage Guide for Agents\n\nAgents should use standard HTTP tools (curl, fetch, requests, etc.) to interact with the API.\n\n1. Generate New Temporary Email\ncurl \"https://api.mailtap.org/public/generate\"\n\n\nExample response:\n\n{\n  \"address\": \"abc123xyz@mailtap.com\",\n  \"expires_at\": \"2026-02-15T04:30:00.000Z\",\n  \"created_at\": \"2026-02-15T04:00:00.000Z\"\n}\n\n2. Get Email Details\ncurl \"https://api.mailtap.org/public/email/{address}\"\n\n3. Get Inbox Messages\ncurl \"https://api.mailtap.org/public/inbox/{address}\"\n\n\nExample response with attachment:\n\n{\n  \"messages\": [\n    {\n      \"id\": 1,\n      \"from_address\": \"no-reply@example.com\",\n      \"subject\": \"Your document\",\n      \"body\": \"Please find the attached file.\",\n      \"received_at\": \"2026-02-15T04:05:00.000Z\",\n      \"attachments\": [\n        {\n          \"filename\": \"document.pdf\",\n          \"mime_type\": \"application/pdf\",\n          \"size\": 102400,\n          \"r2_key\": \"attachments/abc123/document.pdf\"\n        }\n      ]\n    }\n  ]\n}\n\n4. Download Attachments\n\nAttachments are publicly downloadable via the S3-compatible URL:\n\nhttps://s3.mailtap.org/{r2_key}\n\nExample:\n\ncurl -O \"https://s3.mailtap.org/attachments/abc123/document.pdf\"\n\n\nor\n\nwget \"https://s3.mailtap.org/attachments/abc123/document.pdf\"\n\nRecommended Agent Workflow Patterns\n\nVerification flow:\n\nGenerate email\nUse for signup\nPoll inbox\nExtract verification code\n\nAttachment flow:\n\nPoll inbox\nIf attachments exist → download\nProcess files\n\nError handling:\n\nIf 404 → email expired → generate new address\nExample Prompts for Agents\n\"Generate a new temporary email using MailTap\"\n\"Check inbox for abc123@mailtap.com and download attachments\"\n\"Create temp email, wait up to 2 minutes, extract verification code\"\nPython Helper Library (Enhanced)\nimport requests\nimport time\nimport os\nfrom pathlib import Path\nfrom typing import Optional, Dict, Any\n\nBASE_URL = \"https://api.mailtap.org\"\nATTACHMENT_BASE = \"https://s3.mailtap.org\"\n\n# Whitelisted attachment types for security\nWHITELISTED_MIME_TYPES = {\n    \"application/pdf\",\n    \"image/jpeg\", \"image/png\", \"image/gif\",\n    \"text/plain\", \"text/csv\", \"text/html\",\n    \"application/msword\", \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n    \"application/vnd.ms-excel\", \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"\n}\n\nMAX_FILE_SIZE_MB = 10  # Maximum 10MB for security\n\n\ndef generate_email() -> Dict[str, Any]:\n    \"\"\"Generates a new temporary email address.\"\"\"\n    response = requests.get(f\"{BASE_URL}/public/generate\")\n    response.raise_for_status()\n    return response.json()\n\n\ndef get_inbox(address: str) -> Dict[str, Any]:\n    \"\"\"Retrieves the inbox for a given address.\"\"\"\n    response = requests.get(f\"{BASE_URL}/public/inbox/{address}\")\n    if response.status_code == 404:\n        return {\"error\": \"Email not found or expired\"}\n    response.raise_for_status()\n    return response.json()\n\n\ndef wait_for_message(address: str, timeout: int = 120, interval: int = 10) -> Dict[str, Any]:\n    \"\"\"Polls the inbox until a message arrives or timeout is reached.\"\"\"\n    start_time = time.time()\n    while time.time() - start_time < timeout:\n        inbox = get_inbox(address)\n        if \"error\" not in inbox and inbox.get(\"messages\"):\n            return inbox[\"messages\"][-1]\n        time.sleep(interval)\n    return {\"error\": \"Timeout\"}\n\n\ndef is_safe_attachment(attachment: Dict[str, Any]) -> bool:\n    \"\"\"Validates attachment safety based on MIME type and size.\"\"\"\n    mime_type = attachment.get(\"mime_type\", \"\")\n    size_mb = attachment.get(\"size\", 0) / (1024 * 1024)\n    \n    if mime_type not in WHITELISTED_MIME_TYPES:\n        return False\n    if size_mb > MAX_FILE_SIZE_MB:\n        return False\n    return True\n\n\ndef download_attachment(r2_key: str, save_path: Optional[str] = None) -> str:\n    \"\"\"Downloads an attachment from the mailtap S3 storage with security checks.\"\"\"\n    \n    # Parse attachment info from r2_key\n    parts = r2_key.split(\"/\")\n    if len(parts) < 2:\n        raise ValueError(\"Invalid r2_key format\")\n    \n    filename = parts[-1]\n    if not filename or \"..\" in filename:\n        raise ValueError(\"Invalid filename detected\")\n    \n    url = f\"{ATTACHMENT_BASE}/{r2_key}\"\n    \n    # Get attachment metadata first\n    response = requests.head(url, allow_redirects=True)\n    response.raise_for_status()\n    \n    # Validate content type and size\n    content_type = response.headers.get(\"content-type\", \"\")\n    content_length = response.headers.get(\"content-length\")\n    \n    if content_type not in WHITELISTED_MIME_TYPES:\n        raise ValueError(f\"Unsafe MIME type: {content_type}\")\n    \n    if content_length:\n        size_mb = int(content_length) / (1024 * 1024)\n        if size_mb > MAX_FILE_SIZE_MB:\n            raise ValueError(f\"File too large: {size_mb:.1f}MB (max {MAX_FILE_SIZE_MB}MB)\")\n    \n    # Download the file\n    response = requests.get(url, stream=True)\n    response.raise_for_status()\n    \n    if save_path is None:\n        save_path = filename\n    \n    # Ensure safe save path\n    save_path = Path(save_path)\n    save_path = save_path.resolve()\n    \n    # Create directory if needed\n    save_path.parent.mkdir(parents=True, exist_ok=True)\n    \n    with open(save_path, \"wb\") as f:\n        for chunk in response.iter_content(8192):\n            f.write(chunk)\n    \n    return str(save_path)\n\n\ndef list_attachments(address: str) -> list:\n    \"\"\"Lists all attachments in inbox with security validation.\"\"\"\n    inbox = get_inbox(address)\n    if \"error\" in inbox:\n        return []\n    \n    safe_attachments = []\n    for message in inbox.get(\"messages\", []):\n        for attachment in message.get(\"attachments\", []):\n            if is_safe_attachment(attachment):\n                safe_attachments.append(attachment)\n    \n    return safe_attachments\n\nSecurity Enhancements\n1. Attachment Validation\nMIME Type Whitelisting: Only allows common safe file types (PDF, images, text, office documents)\nSize Limitation: Maximum 10MB per file to prevent large file attacks\nFilename Sanitization: Prevents path traversal attacks by validating filenames\n2. Safe Download Process\nMetadata Validation: Checks content type and size before downloading\nSandboxed Download: Uses safe path resolution to prevent directory traversal\nStreamed Download: Downloads in chunks to prevent memory exhaustion\n3. Agent Safety Guidelines\nNever auto-execute: Agents should never automatically execute downloaded files\nValidate before use: Always validate file type and content before processing\nUse in sandbox: For untrusted files, use in isolated environment\nImportant Notes & Limitations\nEmails expire automatically after 30 minutes.\nAttachments are public.\nNo authentication required.\nRate limits are generous for normal usage.\nSecurity-first approach: All downloads are validated for safety.\nNo automatic execution: Agents must manually validate and process files.\nUser responsibility: Users should still exercise caution with unknown attachments.\nExample Secure Workflow\n# Secure attachment handling\naddress = \"test123@mailtap.com\"\n\n# Get inbox and list safe attachments\nattachments = list_attachments(address)\n\nfor attachment in attachments:\n    try:\n        # Download with validation\n        file_path = download_attachment(attachment[\"r2_key\"])\n        print(f\"Downloaded safe file: {file_path}\")\n        \n        # Process file (in sandbox if possible)\n        # process_file(file_path)\n        \n    except Exception as e:\n        print(f\"Failed to download {attachment['filename']}: {e}\")\n\nSource & Verification\nOfficial service: https://www.mailtap.org\nAPI root: https://api.mailtap.org\n\nThis skill is a transparent wrapper around the public MailTap API with enhanced security measures.\n\nDisclaimer\n\nUse responsibly and comply with MailTap terms of service. While security measures are implemented, users should still exercise caution when handling email attachments from unknown sources.\n\nCreated and maintained by Web3 Hungry. Updated for security compliance."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/zororaka00/mailtap",
    "publisherUrl": "https://clawhub.ai/zororaka00/mailtap",
    "owner": "zororaka00",
    "version": "1.0.4",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/mailtap",
    "downloadUrl": "https://openagent3.xyz/downloads/mailtap",
    "agentUrl": "https://openagent3.xyz/skills/mailtap/agent",
    "manifestUrl": "https://openagent3.xyz/skills/mailtap/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/mailtap/agent.md"
  }
}