rayhughes / sendgrid-validation
使用 Twilio SendGrid 电子邮件验证 API 验证电子邮件地址的 PHP 库。
1.2.0
2024-08-13 02:44 UTC
Requires
- php: >=7.4
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- guzzlehttp/guzzle: 7.4.5.0
Requires (Dev)
- phpunit/phpunit: ^9.5
- vimeo/psalm: ^4.10
README
使用 Twilio SendGrid 电子邮件验证 API 验证电子邮件地址的 PHP 库。
先决条件
- Twilio SendGrid 电子邮件验证 API 密钥
- PHP 7.4 或更高版本
- Composer
安装
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);