rayhughes/sendgrid-validation

使用 Twilio SendGrid 电子邮件验证 API 验证电子邮件地址的 PHP 库。

1.2.0 2024-08-13 02:44 UTC

This package is auto-updated.

Last update: 2024-09-13 02:58:58 UTC


README

Packagist Minimum PHP Version Licensed under the MIT License

使用 Twilio SendGrid 电子邮件验证 API 验证电子邮件地址的 PHP 库。

先决条件

安装

composer require rayhughes/sendgrid-validation

用法

基本

EmailValidation() 使用默认阈值初始化。

use SendGridValidation\EmailValidation;
use SendGridValidation\Repository\SendGridApiRepository;

$validation = new EmailValidation(new SendGridApiRepository('api-key'));

$emailValid = $validation->validate('email@example.com'));

echo $emailValid->isValid; // true
echo $emailValid->isValidRisk; // true
echo $emailValid->isValidScore; // true
echo $emailValid->isDisposable; // false
echo $emailValid->hasSuggestion; //false
echo $emailValid->suggestion; // null

EmailValidation()->validate() 返回 EmailValidationDto() 实例

EmailValidationDto()

  • $isValid - 如果验证结果符合指定的阈值,则计算为 true
  • $isValidRisk - 如果符合指定的风险标准,则计算为 true
  • $isValidScore - 如果在最低分数阈值内,则计算为 true
  • $isDisposable - 如果电子邮件被认为是可丢弃的,则计算为 true
  • $hasSuggestion - 如果有建议,则计算为 true
  • $suggestion - 如果有建议,则计算电子邮件建议。
class EmailValidationDto
{
    public bool $isValid = false;

    public bool $isValidRisk = false;

    public bool $isValidScore = false;

    public bool $isDisposable = false;

    public bool $hasSuggestion = false;

    public ?string $suggestion = null;
}

高级

可以通过可选参数初始化 EmailValidation() 以针对开发者指定的阈值进行验证。

  • $allowRisky - 当为 true 时,如果满足其他条件,则将风险电子邮件视为 有效
  • $allowDisposable- 当为 true 时,如果满足其他条件,则将可丢弃电子邮件视为 有效
  • $checkValidScore - 当为 true 时,检查 SendGrid 的 有效 电子邮件是否满足最低分数阈值。
  • $minScore - 默认 0.30。如果未满足最低分数阈值,则将电子邮件视为 无效
use SendGridValidation\EmailValidation;
use SendGridValidation\Repository\SendGridApiRepository;

$validation = new EmailValidation(
    new SendGridApiRepository($apiKey),
    true, // bool $allowRisky = true,
    true, // bool $allowDisposable = true,
    true, // bool $checkValidScore = false,
    EmailValidation::MIN_SCORE // float $minScore = self::MIN_SCORE (0.30)
);

$emailValid = $validation->validate($email);