omegavesko / email-parser
一个库,可以轻松获取特定电子邮件地址的各种信息。
Requires
- php: >=7.4
- ext-json: *
- egulias/email-validator: ^2.1
- psr/log: ^1.1
- symfony/property-access: ^4.3
- symfony/serializer: ^4.3
Requires (Dev)
- phpunit/phpunit: ^9
- symfony/var-dumper: ^4.3
This package is auto-updated.
Last update: 2024-09-25 03:48:49 UTC
README
email-parser
是一个 PHP 库,可以轻松获取电子邮件地址的各种信息。
特性
- ✔️ 可配置的电子邮件验证(由 egulias/email-validator 提供)
- 🔍 将电子邮件地址拆分为其各个部分
- 🌎 根据域名获取电子邮件提供商的信息
入门
先决条件
- PHP >= 7.4
- Composer
安装
composer require omegavesko/email-parser
用法
要使用解析器,创建一个 EmailParser
类的实例,然后使用 parseEmail()
和 parseEmails()
方法将电子邮件解析为 EmailInformation
实例。
<?php use OmegaVesko\EmailParser\EmailParser; $parser = new EmailParser(); $emailInformation = $parser->parseEmail("example@test.dev"); $emailInformation->email; // 'example@test.dev' $emailInformation->domain; // 'test.dev' $emailInformation->localPart; // 'example' $emailInformation->emailService; // EmailServiceInformation instance (or null)
获取电子邮件提供商信息
如果电子邮件使用了知名公共电子邮件提供商的域名(例如 Gmail),则 email-parser
将提供其名称、已知域名以及服务网络邮件界面的 URL。
这个功能的一个特别有用的应用是将用户直接链接到他们的电子邮件收件箱,例如,如果您想尽可能简化他们获取您刚刚发送的电子邮件的过程。
<?php use OmegaVesko\EmailParser\EmailParser; $parser = new EmailParser(); $emailInformation = $parser->parseEmail("example@gmail.com"); $emailInformation->emailService->name; // 'Gmail' $emailInformation->emailService->domains; // ['gmail.com', 'googlemail.com'] $emailInformation->emailService->webmailUrl; // 'https://mail.google.com/'
如果电子邮件不是来自公共电子邮件提供商,或者 email-parser
不认识,则 getEmailService()
将返回 null
。
配置
虽然 email-parser
在默认情况下无需配置即可正常工作,但您仍然可以配置一些选项以更好地将其集成到您的代码库中,或根据您的需求进行适配。
EmailParser
构造函数接受以下可选参数
-
$logger
:一个Psr\Log\LoggerInterface
实例。《email-parser》将使用此来记录非致命警告等信息。 -
$emailValidation
:一个Egulias\EmailValidator\Validation\EmailValidation
实例。《email-parser》将使用此验证来验证它解析的所有电子邮件。有关可用验证的信息,请参阅 EmailValidator 文档。如果留空,则默认使用简单的
RFCValidation
。
开发
运行测试
vendor/bin/phpunit
作者
- Veselin Romić (omegavesko@gmail.com)
许可证
本项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件。