定制 temp-mail-io/temp-mail-php 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

temp-mail-io/temp-mail-php

最新稳定版本:0.2.1

Composer 安装命令:

composer require temp-mail-io/temp-mail-php

包简介

README 文档

README

Packagist Version PHP License: MIT

The official PHP Client for Temp Mail. This library provides developers a straightforward way to create and manage temporary email addresses, retrieve and delete messages, all via the Temp Mail API.

Table of Contents

Features

  • Create temporary email addresses with optional domain specifications
  • Get current rate limits after API request
  • Delete a temporary email along with all its messages
  • Retrieve all messages for a specified email
  • Get a specific message or download its attachment

Installation

To install this PHP package, run:

composer require temp-mail-io/temp-mail-php

Quick Start

Below is a simple example to get started:

<?php
$emailClient = \TempMailIo\TempMailPhp\Factory::createEmailClient('YOUR_API_KEY');

$createResponse = $emailClient->create();

if ($createResponse->errorResponse !== null) {
    echo "Code: " . $response->errorResponse->error->code . PHP_EOL;
    echo "Detail: " . $response->errorResponse->error->detail . PHP_EOL;
    echo "Type: " . $response->errorResponse->error->type . PHP_EOL;
    exit;
}

// Use the created temporary email on the website, service, etc...

$messagesResponse = $emailClient->getMessages($createResponse->successResponse->email);

if ($messagesResponse->errorResponse !== null) {
    echo "Code: " . $messagesResponse->errorResponse->error->code . PHP_EOL;
    echo "Detail: " . $messagesResponse->errorResponse->error->detail . PHP_EOL;
    echo "Type: " . $messagesResponse->errorResponse->error->type . PHP_EOL;
    exit;
}

foreach ($messagesResponse->successResponse->messages as $message) {
    // Iterate over messages
}

Usage Examples

Listing Domains

$response = \TempMailIo\TempMailPhp\Factory::createDomainClient('YOUR_API_KEY')->getAvailableDomains();

if ($response->errorResponse !== null) {
    // handle error
}

foreach ($response->successResponse->domains as $domain) {
    // Iterate over domains
}

Getting Rate Limits

$response = \TempMailIo\TempMailPhp\Factory::createRateLimitClient('YOUR_API_KEY')->getStatus();

if ($response->errorResponse !== null) {
    // handle error
}

echo "Rate limit: " . $response->successResponse->limit . PHP_EOL;
echo "Remaining limit: " . $response->successResponse->remaining . PHP_EOL;
echo "Used limit: " . $response->successResponse->used . PHP_EOL;
echo "Reset limit: " . $response->successResponse->reset . PHP_EOL;

You can also get rate limits from each success response:

$response = \TempMailIo\TempMailPhp\Factory::createEmailClient('YOUR_API_KEY')->create();

if ($response->errorResponse !== null) {
    // handle error
}

echo "Rate limit: " . $response->successResponse->rateLimit->limit . PHP_EOL;
echo "Remaining limit: " . $response->successResponse->rateLimit->remaining . PHP_EOL;
echo "Used limit: " . $response->successResponse->rateLimit->used . PHP_EOL;
echo "Reset limit: " . $response->successResponse->rateLimit->reset . PHP_EOL;

Creating Temporary Email

$response = \TempMailIo\TempMailPhp\Factory::createEmailClient('YOUR_API_KEY')->create();

if ($response->errorResponse !== null) {
    // handle error
}

echo "Email: " . $response->successResponse->email . PHP_EOL;

Fetching and Deleting Messages

$emailClient = \TempMailIo\TempMailPhp\Factory::createEmailClient('YOUR_API_KEY');

$response = $emailClient->getMessages('your_email@example.com');

if ($response->errorResponse !== null) {
    // handle error
}

foreach ($response->successResponse->messages as $message) {
    // Iterate over messages
}

$messageClient = \TempMailIo\TempMailPhp\Factory::createMessageClient('YOUR_API_KEY');

$deleteResponse = $messageClient->delete($response->successResponse->messages[0]->id);

if ($deleteResponse->errorResponse !== null) {
    // handle error
}

Testing

We use the PHPUnit testing framework.

Run tests locally:

./vendor/bin/phpunit ./tests

In the CI, the tests and linters are automatically executed via GitHub Actions.

Contributing

We welcome and appreciate contributions! Please see our CONTRIBUTING.md for guidelines on how to open issues, submit pull requests, and follow our coding standards.

License

This project is licensed under the MIT License.

Support

If you encounter any issues, please open an issue on GitHub. We are happy to help you!

统计信息

  • 总下载量: 11
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 6
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 6
  • Watchers: 2
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-01-13