silverslice/mail-reader

轻松测试电子邮件

v1.0 2022-02-11 06:49 UTC

This package is auto-updated.

Last update: 2024-09-11 12:49:57 UTC


README

Coverage Status

无需mailcatcher烦恼:)

MailReader 将您的电子邮件存储在本地目录中,并提供方便的测试方式。

安装

composer require silverslice/mail-reader

使用方法

  • bin/smtp_catcher.php 复制到方便的文件夹中。
  • bin/smtp_catcher.php 中指定电子邮件文件夹(可选)。
  • 在 php.ini 中设置:sendmail_path = /path/to/smtp_catcher.php
  • 编写测试
use Silverslice\MailReader\MailReader;

...

public function testGetLastMessage()
{
    $reader = new MailReader('/path/to/mails/');

    // get last sent message
    $message = $reader->getLastMessage();

    $this->assertEquals('fromemail@mail.dev', $message->getFrom());
    $this->assertEquals('toemail@mail.dev', $message->getTo());
    $this->assertEquals('Third email', $message->getSubject());
    $this->assertContains('This is the last email', $message->getBody());

    $this->assertTrue($message->hasAttachment());
    $this->assertTrue($message->hasAttachmentWithName('file1.txt'));

    // get total count of messages
    $count = $reader->getCountOfMessages();

    // get next to the last message
    $prevMessage = $reader->getLastMessageByIndex(1);

    // clear all messages
    $reader->clearMessages();
}