olssonm/电子邮件地址

处理电子邮件地址的包

v1.3 2024-02-12 22:05 UTC

This package is auto-updated.

Last update: 2024-09-12 23:38:23 UTC


README

Supported PHP-versions Latest Version on Packagist Build Status Software License

这是一个简单的包,可以提取电子邮件地址的所有部分。其中一种用法是检索子地址的实际交付地址(例如,“加号地址”,“标记地址”等)。

还提供了一个电子邮件地址构建器,可以根据部分构建地址,以及一个简单的验证器(使用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