承接 henrique-borba/php-sieve-manager 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

henrique-borba/php-sieve-manager

Composer 安装命令:

composer require henrique-borba/php-sieve-manager

包简介

A modern (started in 2022) PHP library for the ManageSieve protocol (RFC5804) to create/edit Sieve scripts (RFC5228). Used by Cypht Webmail.

README 文档

README

A modern (started in 2022) PHP library for the ManageSieve protocol (RFC5804) to create/edit Sieve scripts (RFC5228). Used by Cypht Webmail and available to all PHP projects via https://packagist.org/packages/henrique-borba/php-sieve-manager

Tiki Wiki CMS Groupware bundles Cypht webmail and extends filters beyond what is possible via the Sieve protocol.

Compare php-sieve-manager to other options

How to use

Connect to ManageSieve

require_once "vendor/autoload.php";

$client = new \PhpSieveManager\ManageSieve\Client("localhost", 4190);
$client->connect("test@localhost", "mypass", false, "", "PLAIN");


$client->listScripts();

Generate Sieve script

$filter = \PhpSieveManager\Filters\FilterFactory::create('MaxFileSize');


$criteria = \PhpSieveManager\Filters\FilterCriteria::if('body')->contains('"test"');

// Messages bigger than 2MB will be rejected with an error message
$size_condition = new \PhpSieveManager\Filters\Condition(
    "Messages bigger than 2MB will be rejected with an error message", $criteria
);

$size_condition->addCriteria($criteria);
$size_condition->addAction(
     new \PhpSieveManager\Filters\Actions\DiscardFilterAction()
);


// Add the condition to the Filter
$filter->setCondition($size_condition);
$filter->toScript();

Actions

[RFC5293]

addheader [":last"]
    <field-name: string>
    <value: string>

[RFC5293]

deleteheader [":index" <fieldno: number> [":last"]]
    [COMPARATOR] [MATCH-TYPE]
    <field-name: string>
    [<value-patterns: string-list>]

[RFC8580] [RFC5435]

notify [":from" string]
    [":importance" <"1" / "2" / "3">]
    [":options" string-list]
    [":message" string]
    [:fcc "INBOX.Sent"]
    <method: string>

[RFC5230] [RFC6131] [RFC8580]

vacation [[":days" number] | [":seconds"]]
    [":subject" string]
    [":from" string]
    [":addresses" string-list]
    [":mime"]
    [":handle" string]
    <reason: string>

[RFC5232]

setflag [<variablename: string>]
    <list-of-flags: string-list>

[RFC5232]

addflag [<variablename: string>]
    <list-of-flags: string-list>

[RFC5232]

removeflag [<variablename: string>]
    <list-of-flags: string-list>

[RFC5703]

replace [":mime"]
    [":subject" string]
    [":from" string]
    <replacement: string>

[RFC5703]

enclose <:subject string>
    <:headers string-list>
    string

[RFC5229]

extracttext [MODIFIER]
    [":first" number]
    <varname: string>

[RFC6558]

convert  <quoted-from-media-type: string>
    <quoted-to-media-type: string>
    <transcoding-params: string-list>

[RFC5229]

set [MODIFIER] <name: string>
    <value: string>

Modifiers:  ":lower" / ":upper" / ":lowerfirst" / ":upperfirst" /
           ":quotewildcard" / ":length"

[RFC5232] [RFC3894] [RFC5228] [RFC5490] [RFC9042] [RFC8579]

fileinto [:mailboxid <mailboxid: string>] [:specialuse <special-use-attr: string>] [:create] [":copy"] [":flags" <list-of-flags: string-list>] <mailbox: string>

[RFC5228] [RFC3894] [RFC6009]

redirect [":copy"] [:notify "value"] [:ret "FULL"|"HDRS"] [":copy"] <address: string>

[RFC5228] [RFC5232]

keep [":flags" <list-of-flags: string-list>]

[RFC5228]

discard

[RFC5429]

reject

[RFC5429]

ereject

henrique-borba/php-sieve-manager 适用场景与选型建议

henrique-borba/php-sieve-manager 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 142.45k 次下载、GitHub Stars 达 26, 最近一次更新时间为 2022 年 04 月 18 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「mail」 「php」 「email」 「imap」 「filters」 「sieve」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 henrique-borba/php-sieve-manager 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 henrique-borba/php-sieve-manager 我们能提供哪些服务?
定制开发 / 二次开发

基于 henrique-borba/php-sieve-manager 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 142.45k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 28
  • 点击次数: 34
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 26
  • Watchers: 3
  • Forks: 5
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-04-18