{"id":13563919,"url":"https://github.com/aman00323/email-checker","last_synced_at":"2025-04-05T12:06:04.711Z","repository":{"id":37312050,"uuid":"184551026","full_name":"aman00323/email-checker","owner":"aman00323","description":"Provides email verification on the go.","archived":false,"fork":false,"pushed_at":"2023-02-02T10:57:59.000Z","size":281,"stargazers_count":153,"open_issues_count":5,"forks_count":30,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-29T11:07:38.847Z","etag":null,"topics":["curl","disposable-emails","dns","email","email-check","email-checker","email-exists","email-validation","email-verification","email-verifier","extract-records","fsockopen","laravel-email-verification","laravel-framework","laravel-package","mx-record","php","php7","verification","verify"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aman00323.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null}},"created_at":"2019-05-02T09:02:27.000Z","updated_at":"2025-03-14T12:46:53.000Z","dependencies_parsed_at":"2023-02-17T18:45:59.584Z","dependency_job_id":null,"html_url":"https://github.com/aman00323/email-checker","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aman00323%2Femail-checker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aman00323%2Femail-checker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aman00323%2Femail-checker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aman00323%2Femail-checker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aman00323","download_url":"https://codeload.github.com/aman00323/email-checker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247332604,"owners_count":20921853,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["curl","disposable-emails","dns","email","email-check","email-checker","email-exists","email-validation","email-verification","email-verifier","extract-records","fsockopen","laravel-email-verification","laravel-framework","laravel-package","mx-record","php","php7","verification","verify"],"created_at":"2024-08-01T13:01:24.552Z","updated_at":"2025-04-05T12:06:04.688Z","avatar_url":"https://github.com/aman00323.png","language":"PHP","funding_links":[],"categories":["PHP"],"sub_categories":[],"readme":"# Email Checker\n\n![CircleCI](https://img.shields.io/circleci/build/github/aman00323/email-checker) [![MadeWithLaravel.com shield](https://madewithlaravel.com/storage/repo-shields/1689-shield.svg)](https://madewithlaravel.com/p/email-checker/shield-link) [![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://GitHub.com/aman00323/StrapDown.js/graphs/commit-activity) [![GitHub license](https://img.shields.io/github/license/aman00323/email-checker)](https://github.com/aman00323/email-checker/blob/master/LICENSE) [![GitHub release](https://img.shields.io/github/v/tag/aman00323/email-checker)](https://github.com/aman00323/email-checker/releases)\n\n\nEmail Checker was created and maintained by [Aman Nurani](https://github.com/aman00323). It provides a powerful email validating system for both development and production for Laravel. It uses [fsockopen()](https://www.php.net/manual/en/function.fsockopen.php), [cURL](https://www.php.net/manual/en/book.curl.php) and many more to validate email address exists or not in real world.\n\nNowadays most of websites are using registration process where they need to verify user's ownership. Mostly developers verify email by sending email verification link to the email, So this will store extra email in database (if they were not exists in real). Additionally some people use [disposable emails](https://en.wikipedia.org/wiki/Disposable_email_address) for temporary usage.\n\n# :tada: WE HAVE MORE THAN 25K DIPOSABLE DOMAIN LIST :tada:\n\u003ccenter\u003e THIS PACKAGE WILL HELP YOU TO VERIFY EMAIL \u003c/center\u003e\n\n## Installation\n\nEmail Checker requires [PHP](https://php.net) \u003e 7.0. This particular version supports with latest [Laravel](https://laravel.com/).\n\nTo get the latest version, simply require the project using [Composer](https://getcomposer.org):\n\n```bash\n$ composer require aman00323/emailchecker\n```\n\nOnce installed, You need to include `Aman\\EmailVerifier\\EmailChecker` to access methods for email verify.\n\n## Usage\n\n### Check Disposable Emails\n\nIf you want to check email is [disposable emails](https://en.wikipedia.org/wiki/Disposable_email_address) or not then you can use the following function of [emailchecker](https://github.com/aman00323/email-verifier/)\n\n***Added new option to check disposable emails***\n\nThis option is part of checkDisposableEmail() method, you need to pass second argument as true.\n\nWhen you pass true inside helper will check emails with list of dispossable. which are hosted on gist, So whenever list will be changed you would't have to update package.\n\n```php\napp(EmailChecker::class)-\u003echeckDisposableEmail('something@example.com','boolean'));\n```\n\nThis email verification will be done on the basis of [disposable emails](https://en.wikipedia.org/wiki/Disposable_email_address) list, This function will check if entered email address is in the list of disposable or not.\n\n### Check DNS And MX Records\n\n*For better output you need to set from email address for this method*\n\n```php\napp(EmailChecker::class)-\u003esetFromEmail('something@example.com','boolean'));\n```\n\nOR\nSet ENV variable in your .env\n```php\nEMAIL_CHECKER_SET_FROM='something@example.com'\n```\n\nAnother usage is to check [DNS](https://en.wikipedia.org/wiki/Domain_Name_System) and [MX Record](https://en.wikipedia.org/wiki/MX_record) of the email address, In this method package will try to extract records from email address and try to verify using [SMTP](https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol).\n\nIf this method will successfully extract records, then it will try to send HELLO message on the email address using [fsockopen()](https://www.php.net/manual/en/function.fsockopen.php), if it get valid status from MAIL server then it will return true. Also function will return true if it is not verify with the detail message.\n\n```php\napp(EmailChecker::class)-\u003echeckMxAndDnsRecord('something@example.com'));\n```\nThis will return array with success and details, Details will indicate email verified with any exception or not.\n\nFor better output your server needs to support [fsockopen()](https://www.php.net/manual/en/function.fsockopen.php).\n\n### Check Domain Status\n\nSometime it is hard to identify that email exist or not based on DNS and MX Records, So this method will check the domain status using [cURL](https://www.php.net/manual/en/book.curl.php).\n\nThis method ensures that email which is given has valid domain.\n\n```php\napp(EmailChecker::class)-\u003echeckDomain('something@example.com'));\n```\n\nThis method will return TRUE or FALSE, if it successfully get response then it will return TRUE. Response validates based on [HTTP Status Code](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes).\n\n### Check Email\n\nThis method will use all of the methods and it gives detail response, if it gives TRUE.\n\nIf any of the method will respond with FALSE then will not give detail report.\n\n```php\napp(EmailChecker::class)-\u003echeckEmail('something@example.com','boolean'));\n```\n\nAs we have added new option with checkDisposableEmail() which has second argument that will enable deep check to compare domain with large list.\n\nDon't worry it would't take too much time. :smile:\n\nAll are different method you can use individually as per your requirement. To call all of the method at once use **Check Email**\n\n## Future Developement\n\nPlease let add your ideas to improve this package.\n\n## Contribution\n\nAll contributer are welcome, Code must follow [PSR2](https://www.php-fig.org/psr/psr-2/). create feature branch to compare with email checker. Your code must pass testcases.\n\n**NOTE** : This package will not ensure to verify each and email address, some of them cannot be verify due to MAIL server securities.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faman00323%2Femail-checker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faman00323%2Femail-checker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faman00323%2Femail-checker/lists"}