johnnymast/mailreader

从邮件服务器获取您的电子邮件消息

v1.2.1 2017-02-12 21:43 UTC

This package is auto-updated.

Last update: 2024-08-29 04:31:13 UTC


README

Build Status Scrutinizer Code Quality

MailReader

MailReader 允许您执行基本的邮件任务,如列出/移动和删除邮件服务器上的邮件。以下操作是默认支持的。

  • 列出/删除/移动邮件
  • 列出/创建/删除邮箱(文件夹)

查看此存储库中的示例文件夹以获取一些基本示例。

要求

以下版本的 PHP 由本版本支持。

  • PHP 5.6
  • PHP 7.0
  • PHP 7.1
  • HHVM
  • Php_imap(核心 PHP 扩展)

易于使用

列出您的收件箱中的电子邮件。

use JM\MailReader\MailReader;

try {
    $reader = new MailReader();
    $reader->connect([
        'server'   => 'foobar.com',
        'username' => 'foo@bar.com',
        'password' => 'bar'
    ]);

    /**
     * Note: Uncomment the following line if
     *       you wish to read a mailbox (folder)
     */
    //$reader->setMailbox('Sent');

    // messages will now contain the emails you received
    $messages = $reader->readMailbox();

    if (is_array($messages) && count($messages) > 0) {
        foreach($messages as $email) {
            $header = $email['header'];

            // Assuming CLI here
            print $header->Subject."\n";
        }
    }
} catch (\Exception $e) {
    print $e->getMessage();
}

查找发送到 "foo@bar.com" 的电子邮件并显示它们(如果您有一个捕获所有邮件的邮箱,这将很有用)。

use JM\MailReader\MailReader;

try {
    $reader = new MailReader();
    $reader->connect([
        'server'   => 'foobar.com',
        'username' => 'foo@bar.com',
        'password' => 'bar'
    ]);

    /**
     * Note: Uncomment the following line if
     *       you wish to read a mailbox (folder)
     */
    //$reader->setMailbox('Sent');

    // messages will now contain the emails you received
    $messages = $reader->readMailbox();

    if (is_array($messages) && count($messages) > 0) {
        foreach($messages as $email) {
            $header = $email['header'];

            // Assuming CLI here
            print $header->Subject."\n";
        }
    }
} catch (\Exception $e) {
    print $e->getMessage();
}

为 "foo@bar.com" 过滤未读电子邮件并将其移动到“从未见过邮箱”文件夹。如果该邮箱(文件夹)尚不存在,则将其创建。

use JM\MailReader\MailReader;

/**
 * Note: port is an additional option to set.
 *       This option is not required.
 */
$reader->connect([
    'server'   => 'foobar.com',
    'username' => 'foo@bar.com',
    'password' => 'bar'
]);

$mailbox = 'Unread';
$targetEmailAddress = 'foo@bar.com';

// Create the mailbox (folder) if it does not already exist.
if ($reader->mailboxExists($mailbox) == false) {
    $reader->createMailbox($mailbox);
    $reader->subscribeMailbox($mailbox);
}

$messages = $reader->filterUnReadMessagesTo($targetEmailAddress);

if (is_array($messages) && count($messages) > 0) {
    foreach($messages as $message) {
        $reader->moveMessage($message['index'], $mailbox);
    }
}

// Switch to mailbox (folder) $mailbox
$reader->setMailbox('unseen');

// Retrieve the messages in mailbox (folder) $mailbox
$reader->setMailbox($mailbox);
$messages = $reader->readMailbox();

作者

此软件包由 Johnny Mast 创建和维护。

许可证

MIT 许可证 (MIT)

版权所有 (c) 2017 Johnny Mast

特此授予任何获得此软件副本及其相关文档文件(“软件”)的个人免费使用软件的权利,不受限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向软件提供方提供软件的人这样做,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。

软件按“现状”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论这些责任是基于合同、侵权或其他原因,无论这些责任是否与软件或软件的使用或其他交易有关。