แพ็คเกจ PHP ที่ตรวจพบที่อยู่อีเมล (ชั่วคราว/dholdaway/ปลอม) มันเป็นเฟรมเวิร์กที่ไม่เชื่อเรื่องพระเจ้าและไม่มีการพึ่งพา แต่รวมถึงการสนับสนุนสำหรับ Laravel มันตรวจสอบที่อยู่อีเมลเพื่อให้แน่ใจว่าเป็นของแท้ซึ่งมีประโยชน์สำหรับการจัดการการลงทะเบียนบัญชีและประเมินจำนวนที่อยู่อีเมลที่ถูกต้องตามกฎหมายในระบบของคุณ
เครื่องมือนี้ยังช่วยหลีกเลี่ยงข้อผิดพลาดในการสื่อสารและบล็อกที่อยู่สแปม
การค้นหาเป็นสุดยอด O(1) เนื่องจากโดเมนอีเมลแบบใช้แล้วทิ้งถูกเก็บไว้ในเครื่องโดยใช้ชุดแฮช PHP ดั้งเดิม ..
- รายการโดเมนอีเมลที่ใช้แล้วทิ้งจะได้รับการอัปเดตเป็นประจำจากแหล่งภายนอกที่เชื่อถือได้โดยอัตโนมัติ
บันทึก
อ่านด้านล่างสำหรับคำแนะนำเฉพาะของ 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หมายเหตุ: โดเมน Whitelisted มีลำดับความสำคัญสูงกว่าโดเมนที่ขึ้นบัญชีดำ
<?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
แต่ถ้าคุณต้องการทำด้วยตนเองคุณสามารถเพิ่มบรรทัดต่อไปนี้ไปยังอาร์เรย์ providers ในไฟล์ config/app.php :
Beeyev DisposableEmailFilter Adapters Laravel DisposableEmailFilterServiceProvider::class, ใช้กฎการตรวจสอบความถูก not_disposable_email หรือ OBJECT new NotDisposableEmail() เพื่อตรวจสอบว่าฟิลด์เฉพาะไม่มีที่อยู่อีเมลแบบใช้แล้วทิ้ง
บันทึก
❗วางไว้หลังจากตัวตรวจสอบอีเมลเพื่อให้แน่ใจว่ามีการประมวลผลอีเมลที่ถูกต้องเท่านั้น
ตัวอย่าง:
// 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] ' );คุณสามารถเผยแพร่ไฟล์ config และการแปลเพื่อปรับแต่งพฤติกรรมแพ็คเกจ:
php artisan vendor:publish --tag=disposable-email-filter คำสั่งนี้จะสร้างไฟล์ config.php disposable-email-filter.php ในไดเรกทอรี config และไฟล์การแปลในไดเรกทอรี lang/vendor/disposable-email-filter
เนื่องจากรายการโดเมนอีเมลที่ใช้แล้วทิ้งได้รับการอัปเดตเป็นประจำจึงเป็นสิ่งสำคัญที่จะต้องทำให้แพคเกจทันสมัยอยู่เสมอ
PATCH เวอร์ชันใหม่ของแพ็คเกจจะถูกปล่อยเมื่อใดก็ตามที่มีการอัปเดตรายการ
การอัปเดตเหล่านี้ปลอดภัยและไม่แตกหักช่วยให้คุณอัปเดตแพ็คเกจผ่านคำสั่งนักแต่งเพลงนี้:
composer update beeyev/disposable-email-filter-phpคุณสามารถเรียกใช้คำสั่งนี้ได้ทุกครั้งในท่อ CI/CD ก่อนที่โครงการจะถูกปรับใช้
อย่าลังเลที่จะมีส่วนร่วมในโครงการนี้หากคุณต้องการเพิ่มคุณสมบัติใหม่ปรับปรุงสิ่งที่มีอยู่หรือแก้ไขข้อบกพร่อง
ในการเพิ่มโดเมนที่ใช้แล้วทิ้งใหม่คุณสามารถอัปเดตไฟล์ blacklist.txt และสร้างคำขอดึง
หรือคุณสามารถเปิดปัญหากับโดเมนที่คุณต้องการเพิ่มลงในบัญชีดำหรือผู้อนุญาต
7c/fakefilterFGRibreau/mailcheckerdisposable-email-domainsบัญชีดำท้องถิ่นและ Whitelist ถูกเก็บไว้ในไฟล์ Blacklist.txt และ whitelist.txt
รายงานข้อผิดพลาดและคำขอคุณสมบัติสามารถส่งได้ในตัวติดตามปัญหา GitHub
ใบอนุญาต MIT (MIT) โปรดดูไฟล์ใบอนุญาตสำหรับข้อมูลเพิ่มเติม
หากคุณรักโครงการนี้โปรดพิจารณาให้ฉัน