noumenia/guardian-milter 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

noumenia/guardian-milter

Composer 安装命令:

composer create-project noumenia/guardian-milter

包简介

Multi-purpose security milter.

README 文档

README

                           _ _                             _ _ _
  __ _ _   _  __ _ _ __ __| (_) __ _ _ __        _ __ ___ (_) | |_ ___ _ __
 / _` | | | |/ _` | '__/ _` | |/ _` | '_ \ _____| '_ ` _ \| | | __/ _ \ '__|
| (_| | |_| | (_| | | | (_| | | (_| | | | |_____| | | | | | | | ||  __/ |
 \__, |\__,_|\__,_|_|  \__,_|_|\__,_|_| |_|     |_| |_| |_|_|_|\__\___|_|
 |___/

Multi-purpose security milter.

Guardian-milter is a Postfix/Sendmail milter for filtering various types of fake, phishing and spam emails. The milter executes highly crafted checks and marks incoming emails with a pass/fail header or rejects them during the SMTP dialogue.

Features

  • Add an Authentication-Results header
  • Copy failed emails to another email address
  • Reject failed emails during the SMTP conversation
  • Remove the name part of the From: header
  • Save failed emails in JSON format
  • Run regular expressions on the connection (IP/hostname)
  • Run regular expressions on the HELO/EHLO string
  • Run regular expressions on the envelope RCPT
  • Detect domain in the From name
  • Detect domain in the subject
  • Detect fake Apple emails
  • Detect fake banking emails
  • Detect fake Chanel emails
  • Detect fake ChatGPT emails
  • Detect fake DHL emails
  • Detect fake DocuSign emails
  • Detect fake ECOS invoice emails
  • Detect fake ELTA emails
  • Detect fake Facebook emails
  • Detect fake FedEx emails
  • Detect fake Hetzner emails
  • Detect fake LinkedIn emails
  • Detect fake Louis Vuitton emails
  • Detect fake Maersk emails
  • Detect fake Netflix emails
  • Detect fake password expiration emails
  • Detect fake PayPal emails
  • Detect fake USPS emails
  • Detect fake Viva emails
  • Detect fake WeTransfer emails
  • Reject attachments with known problematic file extensions
  • Block emails with an empty or undisclosed recipient
  • AbuseIPDB integration
  • Block emails based on IP confidence score (AbuseIPDB)
  • Block emails by country of origin (AbuseIPDB)
  • IPinfo.io integration
  • Block emails by country of origin (IPinfo.io)
  • Transform horrible winmail.dat (TNEF) into MIME attachments

Requirements

  • PHP 8.0, 8.1, 8.2, 8.3, 8.4, 8.5
  • iconv module
  • libMilterPHP 2.6+

Install with RPM packages

You may install guardian-milter via the copr repository, for Alma/Rocky/Oracle Enterprise Linux and Fedora, simply use:

dnf copr enable mksanthi/noumenia
dnf install guardian-milter

Install with Composer

You may install guardian-milter with composer, to get the latest version use the create-project command, the last dot is important because it tells composer to save the files in the current directory.

composer create-project noumenia/guardian-milter .

Configure postfix to use guardian-milter

Edit the /etc/postfix/main.cf file, add or modify the existing smtpd_milters parameter with the connection string for guardian-milter. For example:

smtpd_milters = inet:127.0.0.1:8895

How to use

If you installed via the RPM packages then a systemd service is already available and guardian-milter can be started with systemctl. By default, guardian-milter will read the configuration file /etc/gu-milter.ini and listen for connections at 127.0.0.1 port 8895.

systemctl --now enable guardian-milter

If you installed via composer or manually, then the gu-milter.ini file will be located in the same directory as the guardian-milter executable and can be specified with the --ini=... parameter. Below is the complete list of command-line parameters:

Usage: guardian-milter [OPTION]...

  -V,  --version             display version information only
  -h,  --help                display help about parameters
  -v,  --verbose             enable verbose output to stdout

  -u,  --user=[USER]         Daemon user
  -g,  --group=[GROUP]       Daemon group
  -p,  --pid=[FILE]          PID file
  -l,  --processlimit=[NUM]  Process limit
  -c,  --connection=[STRING] Connection string
  -i,  --ini=[FILE]          Configuration file (/etc/gu-milter.ini)

       --addHeader           Add Authentication-Results header with pass/fail information
       --reject              Reject failed emails
       --removeName          Remove From: header name part

 The connection string can be a UNIX socket or an IPv4/IPv6 address/port.
 UNIX Socket...: unix:///run/gu-milter/guardian-milter.sock
 Address/port..: inet:8895@127.0.0.1

Related projects

noumenia/guardian-milter 适用场景与选型建议

noumenia/guardian-milter 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 8 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 10 月 04 日, 在 PHP 生态内属于活跃度较高的组件。

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

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

围绕 noumenia/guardian-milter 我们能提供哪些服务?
定制开发 / 二次开发

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

  • 总下载量: 8
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 20
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0-only
  • 更新时间: 2023-10-04