omegavesko/email-parser

一个库,可以轻松获取特定电子邮件地址的各种信息。

3.0 2021-04-17 14:15 UTC

This package is auto-updated.

Last update: 2024-09-25 03:48:49 UTC


README

CI Test Coverage Maintainability Packagist Version GitHub

email-parser 是一个 PHP 库,可以轻松获取电子邮件地址的各种信息。

特性

  • ✔️ 可配置的电子邮件验证(由 egulias/email-validator 提供)
  • 🔍 将电子邮件地址拆分为其各个部分
  • 🌎 根据域名获取电子邮件提供商的信息

入门

先决条件

安装

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

作者

许可证

本项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件。