zoltanlaca/email-reader

1.1.0 2020-08-28 07:40 UTC

This package is auto-updated.

Last update: 2024-09-21 18:21:13 UTC


README

EmailReader提供了基于barbushin/php-imap包的流畅IMAP搜索API。

要求

  • PHP 7.1.3或更高版本
  • PHP扩展
    • iconv
    • imap
    • mbstring

示例

<?php

use ZoltanLaca\EmailReader\Credentials\Imap;
use ZoltanLaca\EmailReader\EmailReader;

require_once __DIR__ . '/vendor/autoload.php';

$credentials = new Imap('host', 'username', 'password', 993, 'ssl', 'Custom.Folder');
$reader = new EmailReader($credentials);
$emails = $reader
    ->searchEmails()
    ->subject('Subject name contains')
    ->since(new DateTimeImmutable('2019-07-01'))
    ->get(true);

var_dump($emails);

安装

composer.json

{
    "repositories": [
        {
            "type": "vcs",
            "url": "git@github.com:zoltanlaca/email-reader.git"
        }
    ],
    "require": {
        "zoltanlaca/email-reader": "^1"
    }
}

凭证:\ZoltanLaca\EmailReader\Contracts\Credentials::interface

  • getMailbox(): \PhpImap\Mailbox

实现

Imap: \ZoltanLaca\EmailReader\Credentials\Imap::class
  • __construct(string $host, string $username, string $password, int $port = 993, string $encrypt = 'ssl', string $folder = null, string $encoding = 'UTF-8')
  • setAttachmentsPath(string $path): self
  • setTimeout(int $timeout): self
  • getMailbox(): \PhpImap\Mailbox

Reader: \ZoltanLaca\EmailReader\EmailReader::class

  • __construct(\ZoltanLaca\EmailReader\Contracts\Credentials $credentials)
  • getFolder(string $path = null): \ZoltanLaca\EmailReader\Folder
  • getFolders(): \ZoltanLaca\EmailReader\Folder[]
  • getEmails(\ZoltanLaca\EmailReader\Folder $folder = null, bool $markAsSeen = false): \ZoltanLaca\EmailReader\Mail[]
  • searchEmails(\ZoltanLaca\EmailReader\Folder $folder = null): \ZoltanLaca\EmailReader\Search

Search: \ZoltanLaca\EmailReader\Search::class

  • __construct(\PhpImap\Mailbox $mailbox, \ZoltanLaca\EmailReader\Folder $folder)
  • pushCriteria(\ZoltanLaca\EmailReader\Criteria\Criteria $criteria): self
  • get(bool $markAsSeen = false): \ZoltanLaca\EmailReader\Mail[])

Email: \ZoltanLaca\EmailReader\Mail::class

  • markAsRead()
  • markAsUnread()
  • markAsImportant()
  • delete()
  • move(\ZoltanLaca\EmailReader\Folder $folder)
  • copy(\ZoltanLaca\EmailReader\Folder $folder)

可用的标准