일회용 (임시/던지기/가짜) 이메일 주소를 감지하는 PHP 패키지. 그것은 프레임 워크의 비회적이며 의존성은 없지만 Laravel에 대한 지원이 포함되어 있습니다. 이메일 주소를 검증하여 계정 가입을 관리하고 시스템의 합법적 인 이메일 주소 수를 평가하는 데 유용합니다.
이 도구는 또한 통신 오류를 피하고 스팸 주소를 차단하는 데 도움이됩니다.
일회용 이메일 도메인이 기본 PHP 해시 세트를 사용하여 로컬로 저장되므로 조회는 초고속 O(1) 입니다.
? 일회용 이메일 도메인 목록은 신뢰할 수있는 외부 소스에서 자동으로 자동으로 업데이트됩니다.
메모
Laravel 특정 지침은 아래를 참조하십시오.
다음 명령을 사용하여 작곡가 로이 패키지가 필요합니다.
composer require beeyev/disposable-email-filter-php이메일 주소가 일회용인지 간단한 점검 :
<?php
require __DIR__ . ' /vendor/autoload.php ' ;
use Beeyev DisposableEmailFilter DisposableEmailFilter ;
$ disposableEmailFilter = new DisposableEmailFilter ();
// Check if email address is disposable
$ disposableEmailFilter -> isDisposableEmailAddress ( ' [email protected] ' ); // false
$ disposableEmailFilter -> isDisposableEmailAddress ( ' [email protected] ' ); // true참고 : 화이트리스트 도메인은 블랙리스트 도메인보다 우선 순위가 높습니다.
<?php
require __DIR__ . ' /vendor/autoload.php ' ;
use Beeyev DisposableEmailFilter DisposableEmailFilter ;
$ disposableEmailFilter = new DisposableEmailFilter ();
// Add multiple custom domains to blacklist
$ disposableEmailFilter -> blacklistedDomains ()-> addMultiple ([ ' mailinator.com ' , ' 10minute-mail.org ' ]);
// Add one domain to whitelist
$ disposableEmailFilter -> whitelistedDomains ()-> add ( ' tempmailer.com ' );
$ disposableEmailFilter -> isDisposableEmailAddress ( ' [email protected] ' ); // false (because it's whitelisted now)
$ disposableEmailFilter -> isDisposableEmailAddress ( ' [email protected] ' ); // true
$ disposableEmailFilter -> isDisposableEmailAddress ( ' [email protected] ' ); // true
$ disposableEmailFilter -> isDisposableEmailAddress ( ' [email protected] ' ); // false생성자 종속성을 사용하여 블랙리스트 및 화이트리스트 도메인을 추가 할 수도 있습니다.
use Beeyev DisposableEmailFilter CustomEmailDomainFilter CustomEmailDomainFilter ;
use Beeyev DisposableEmailFilter DisposableEmailFilter ;
$ blacklistedDomains = new CustomEmailDomainFilter ([ ' blacklisted1.com ' , ' blacklisted2.com ' , ' blacklisted3.com ' ]);
$ whitelistedDomains = new CustomEmailDomainFilter ([ ' abc2.com ' , ' whitelisted1.com ' ]);
$ disposableEmailFilter = new DisposableEmailFilter ( $ blacklistedDomains , $ whitelistedDomains );
$ disposableEmailFilter -> isDisposableEmailAddress ( ' [email protected] ' ); // false - whitelisted참고 :
CustomEmailDomainFilterInterface를 구현하는 사용자 정의 클래스를 만들어 자신의 여과 로직을 개발할 수 있습니다.
잘못된 이메일 형식으로 빈 문자열 또는 문자열을 전달하려고하면 예외가 발생합니다.
use Beeyev DisposableEmailFilter DisposableEmailFilter ;
use Beeyev DisposableEmailFilter Exceptions InvalidEmailAddressException ;
$ disposableEmailFilter = new DisposableEmailFilter ();
try {
$ disposableEmailFilter -> isDisposableEmailAddress ( ' john:gmail.com ' ); // Exception will be thrown because of invalid email format
} catch ( InvalidEmailAddressException $ e ) {
echo $ e -> getMessage ();
} 해당 이메일 주소가 유효하지 않고 코드를 시도/캐치로 래핑하고 싶지 않은 경우
isDisposableEmailAddressSafe 메소드를 사용하여 일회용인지 확인하기 전에 이메일 주소가 올바르게 형식화되어 있는지 확인할 수 있습니다.
$ disposableEmailFilter = new DisposableEmailFilter ();
$ emailAddress = ' john:gmail.com ' ;
if ( $ disposableEmailFilter -> isEmailAddressValid ( $ emailAddress )) {
$ disposableEmailFilter -> isDisposableEmailAddress ( $ emailAddress );
}이 패키지에는 Laravel의 서비스 제공 업체 및 양식 검증 규칙이 포함되어 있습니다.
composer require beeyev/disposable-email-filter-php 패키지는 Laravel 자동 발견 메커니즘을 사용하여 자동으로 등록됩니다.
그러나 수동으로 수행 해야하는 경우 config/app.php 파일의 providers 배열에 다음 줄을 추가 할 수 있습니다.
Beeyev DisposableEmailFilter Adapters Laravel DisposableEmailFilterServiceProvider::class, 유효성 검사 규칙을 사용하십시오. not_disposable_email 또는 객체 new NotDisposableEmail() . 특정 필드에 일회용 이메일 주소가 포함되어 있지 않은지 확인하십시오.
메모
email 유효한 이메일 만 처리되도록 이메일 유효성 검사기 후에 배치하십시오.
예:
// Using validation rule name:
' email_field ' => ' required|email|not_disposable_email ' ,
// Or using a validation rule object:
' email_field ' => [ ' email ' , new NotDisposableEmail ()], DisposableEmail 외관을 사용하여 DisposableEmailFilter 인스턴스에 액세스 할 수 있습니다.
use Beeyev DisposableEmailFilter Adapters Laravel Facades DisposableEmail ;
DisposableEmail:: isEmailAddressValid ( ' [email protected] ' );선택적으로 구성 파일 및 변환을 게시하여 패키지 동작을 사용자 정의 할 수 있습니다.
php artisan vendor:publish --tag=disposable-email-filter 이 명령은 lang/vendor/disposable-email-filter 디렉토리의 config 디렉토리 및 번역 파일에서 disposable-email-filter.php 구성 파일을 만듭니다.
일회용 이메일 도메인 목록이 정기적으로 업데이트되므로 패키지를 최신 상태로 유지하는 것이 중요합니다.
목록이 업데이트 될 때마다 패키지의 새 PATCH 버전이 해제됩니다.
이 업데이트는 안전하고 깨지지 않으므로이 작곡가 명령을 통해 패키지를 업데이트 할 수 있습니다.
composer update beeyev/disposable-email-filter-php프로젝트가 배포되기 전에 CI/CD 파이프 라인에서 매번이 명령을 실행할 수 있습니다.
새로운 기능을 추가하거나 기존 기능을 개선하거나 버그를 수정하려면이 프로젝트에 자유롭게 기여하십시오.
새로운 일회용 도메인을 추가하려면 blacklist.txt 파일을 업데이트하고 풀 요청을 만들 수 있습니다.
또는 블랙리스트 또는 화이트리스트에 추가하려는 도메인에서 문제를 열 수 있습니다.
7c/fakefilterFGRibreau/mailcheckerdisposable-email-domains로컬 블랙리스트 및 화이트리스트는 Blacklist.txt 및 Whitelist.txt 파일에 저장됩니다.
버그 보고서 및 기능 요청은 Github 문제 추적기에 제출할 수 있습니다.
MIT 라이센스 (MIT). 자세한 내용은 라이센스 파일을 참조하십시오.
이 프로젝트를 좋아한다면 저에게주십시오.