actinity/sanitiser

一个简单的电子邮件消毒器,用于清理常见的输入错误

1.2 2023-07-03 13:20 UTC

This package is auto-updated.

Last update: 2024-09-03 16:34:18 UTC


README

一个简单的类,用于修复电子邮件地址中的常见输入错误。

这个库接受一个字符串,并尝试将其转换为'干净的'电子邮件地址,而不包含任何可能导致其失败的无关杂项。

为什么我会使用它?

这个库是为了简化从文件和其他系统导入电子邮件地址而编写的,在这些系统中,之前尚未应用适当的消毒。例如,在Excel中提供的要添加到系统中的用户列表、从会议收集的电子邮件地址等。目的是足够好,以修复99%的常见错误,让您只需关注那些肯定失败的。

它做什么?

捕获并'修复'各种常见问题,如

  • 尾随的分号、逗号等
  • 前导或尾随空格(包括零宽度空格)
  • 用引号或尖括号包裹的地址
  • 用尖括号包裹的地址(丢弃其他内容,如姓名)
  • 拒绝明显损坏的地址,如testtest@test@.等。

它不做什么

  • 显然,它不能验证电子邮件地址/域名/邮件服务器是否存在或可以工作。测试电子邮件地址的唯一方法是实际发送到它。任何告诉您其他方法的人都在卖东西。
  • 为每个可能的RFC兼容电子邮件地址工作 - 技术上允许您做的事情有很多,您在现实生活中不太可能遇到。例如,me@localhost
  • 保证它与用户的意图匹配(例如,如果有多个电子邮件地址列出,它只会选择第一个。这是正确的吗? ¯\(ツ)/¯)

如何使用它。

use Actinity\Sanitiser\Sanitiser;

$address = Sanitiser::clean($address)

clean()返回一个干净的地址,如果看起来无法修复,则返回false。