olssonm / 电子邮件地址
处理电子邮件地址的包
v1.3
2024-02-12 22:05 UTC
Requires
- php: ^8
- egulias/email-validator: ^3.2
Requires (Dev)
- pestphp/pest: ^1.0
- squizlabs/php_codesniffer: ^3.5
This package is auto-updated.
Last update: 2024-09-12 23:38:23 UTC
README
这是一个简单的包,可以提取电子邮件地址的所有部分。其中一种用法是检索子地址的实际交付地址(例如,“加号地址”,“标记地址”等)。
还提供了一个电子邮件地址构建器,可以根据部分构建地址,以及一个简单的验证器(使用egulias/email-validator)。
注意:目前仅支持使用 +
的子地址,这是大多数支持子地址的电子邮件提供商所使用的。
要求
此包需要 PHP 8.1 或更高版本。
安装
composer require olssonm/email-address
使用
解析器
use Olssonm\EmailAddress\EmailAddress; // Returns a `Olssonm\EmailAddress\Entity\EmailAddress`-instance $email = EmailAddress::parse('test+tag@example.com'); echo $email->address; // test+tag@example.com echo $email->local; // test+tag echo $email->delivery; // test echo $email->tag; // tag echo $email->domain; // example.com
构建器
use Olssonm\EmailAddress\EmailAddress; // Returns a `Olssonm\EmailAddress\Entity\EmailAddress`-instance via `get()` $email = EmailAddress::build() ->delivery('test') ->tag('tag') ->domain('example.com') ->get(); echo $email->address; // test@example.com
构建器的巧妙用法是能够更改和/或删除子地址部分
$email = EmailAddress::build() ->address('test+tag@example.com') ->tag(null) ->get() echo $email->address; // test@example.com
$email = EmailAddress::build() ->address('test+tag@example.com') ->tag('mytag') ->get() echo $email->address; // test+mytag@example.com
注意,构建器的 address()
方法使用解析器 - 即如果地址无效,可能会抛出异常。
验证器
use Olssonm\EmailAddress\EmailAddress; // true EmailAddress::validate('test@example.com');
异常
如果解析无效的电子邮件地址,将抛出 Olssonm\EmailAddress\Exceptions\InvalidEmailAddressException
。在解析之前验证电子邮件地址是一个好主意。
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅LICENSE。
© 2023 Marcus Olsson。