rpkamp/mailhog-client

PHP 邮件hog API 客户端

2.0.1 2024-03-02 14:52 UTC

README

Mailhog 提供一个简单的 PHP (8.1+) 客户端。

设计目标

  • 尽可能少的依赖
  • 同时支持 Mailhog V1 API 和 Mailhog V2 API 的简单单一客户端
  • 对所有端点进行集成测试,包括成功路径和失败路径

安装

此包不需要任何特定的 HTTP 客户端实现,而是基于 HTTPlug,因此您可以注入自己的 HTTP 客户端。因此,当您安装此库时,请确保您已经安装了 HTTP 客户端,或者与安装此库同时安装一个,否则安装将失败。

composer require rpkamp/mailhog-client <your-http-client-of-choice>

有关更多信息,请参阅 HTTPlug 用户的文档

用法

<?php

use rpkamp\Mailhog\MailhogClient;

$client = new MailhogClient(new SomeHttpClient(), new SomeRequestFactory(), 'http://my.mailhog.host:port/');

其中 SomeHttpClient 是一个实现 HTTPlug 中 Http\Client\HttpClient 的类,SomeMessageFactory 是一个实现 HTTPlug 中 Http\Message\RequestFactory 的类,my.mailhog.host 是邮件hog运行的主机名(或 IP),port 是邮件hog API 运行的端口(默认 8025)。

运行测试

确保 Mailhog 已运行并运行

make test

运行 Mailhog 进行测试

您可以选择运行自己的 Mailhog 实例或使用提供的 Dockerfile 运行一个。要使用 Docker 运行 Mailhog,请确保您已安装 Docker 并运行

docker-compose up -d

Mailhog 测试端口

为了防止测试期间与其他 Mailhog 实例发生端口冲突,测试预期 Mailhog 将在端口 2025 上监听 SMTP(而不是默认的 1025),并在端口 9025 上监听 HTTP 流量(而不是默认的 8025)。

如果您想使用不同的端口,可以将 phpunit.xml.dist 复制到 phpunit.xml 并更改其中环境变量的端口号。