Skip to content

Commit 4254086

Browse files
Update to support for v2 API.
1 parent 231f2ee commit 4254086

File tree

3 files changed

+72
-36
lines changed

3 files changed

+72
-36
lines changed

README.md

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Add the following to your composer.json file:
2020

2121
```
2222
"require": {
23-
"mailboxvalidator/mailboxvalidator-php": "2.0.*"
23+
"mailboxvalidator/mailboxvalidator-php": "2.1.*"
2424
}
2525
```
2626

@@ -115,29 +115,29 @@ $results = $mbv->validateEmail('[email protected]');
115115
if ($results === null) {
116116
echo "Error connecting to API.\n";
117117
}
118-
else if (trim($results->error_code) === '') {
118+
else if (!isset($results->error)) {
119119
echo 'email_address = ' . $results->email_address . "\n";
120120
echo 'domain = ' . $results->domain . "\n";
121-
echo 'is_free = ' . $results->is_free . "\n";
122-
echo 'is_syntax = ' . $results->is_syntax . "\n";
123-
echo 'is_domain = ' . $results->is_domain . "\n";
124-
echo 'is_smtp = ' . $results->is_smtp . "\n";
125-
echo 'is_verified = ' . $results->is_verified . "\n";
126-
echo 'is_server_down = ' . $results->is_server_down . "\n";
127-
echo 'is_greylisted = ' . $results->is_greylisted . "\n";
128-
echo 'is_disposable = ' . $results->is_disposable . "\n";
129-
echo 'is_suppressed = ' . $results->is_suppressed . "\n";
130-
echo 'is_role = ' . $results->is_role . "\n";
131-
echo 'is_high_risk = ' . $results->is_high_risk . "\n";
132-
echo 'is_catchall = ' . $results->is_catchall . "\n";
121+
echo 'is_free = ' . var_export($results->is_free, true) . "\n";
122+
echo 'is_syntax = ' . var_export($results->is_syntax, true) . "\n";
123+
echo 'is_domain = ' . var_export($results->is_domain, true) . "\n";
124+
echo 'is_smtp = ' . var_export($results->is_smtp, true) . "\n";
125+
echo 'is_verified = ' . var_export($results->is_verified, true) . "\n";
126+
echo 'is_server_down = ' . var_export($results->is_server_down, true) . "\n";
127+
echo 'is_greylisted = ' . var_export($results->is_greylisted, true) . "\n";
128+
echo 'is_disposable = ' . var_export($results->is_disposable, true) . "\n";
129+
echo 'is_suppressed = ' . var_export($results->is_suppressed, true) . "\n";
130+
echo 'is_role = ' . var_export($results->is_role, true) . "\n";
131+
echo 'is_high_risk = ' . var_export($results->is_high_risk, true) . "\n";
132+
echo 'is_catchall = ' . var_export($results->is_catchall, true) . "\n";
133133
echo 'mailboxvalidator_score = ' . $results->mailboxvalidator_score . "\n";
134134
echo 'time_taken = ' . $results->time_taken . "\n";
135-
echo 'status = ' . $results->status . "\n";
135+
echo 'status = ' . var_export($results->status, true) . "\n";
136136
echo 'credits_available = ' . $results->credits_available . "\n";
137137
}
138138
else {
139-
echo 'error_code = ' . $results->error_code . "\n";
140-
echo 'error_message = ' . $results->error_message . "\n";
139+
echo 'error_code = ' . $results->error->error_code . "\n";
140+
echo 'error_message = ' . $results->error->error_message . "\n";
141141
}
142142
?>
143143
```
@@ -158,14 +158,14 @@ $results = $mbv->isDisposableEmail('[email protected]');
158158
if ($results === null) {
159159
echo "Error connecting to API.\n";
160160
}
161-
else if (trim($results->error_code) === '') {
161+
else if (!isset($results->error)) {
162162
echo 'email_address = ' . $results->email_address . "\n";
163-
echo 'is_disposable = ' . $results->is_disposable . "\n";
163+
echo 'is_disposable = ' . var_export($results->is_disposable, true) . "\n";
164164
echo 'credits_available = ' . $results->credits_available . "\n";
165165
}
166166
else {
167-
echo 'error_code = ' . $results->error_code . "\n";
168-
echo 'error_message = ' . $results->error_message . "\n";
167+
echo 'error_code = ' . $results->error->error_code . "\n";
168+
echo 'error_message = ' . $results->error->error_message . "\n";
169169
}
170170
?>
171171
```
@@ -185,14 +185,14 @@ $results = $mbv->isFreeEmail('[email protected]');
185185
if ($results === null) {
186186
echo "Error connecting to API.\n";
187187
}
188-
else if (trim($results->error_code) === '') {
188+
else if (!isset($results->error)) {
189189
echo 'email_address = ' . $results->email_address . "\n";
190-
echo 'is_free = ' . $results->is_free . "\n";
190+
echo 'is_free = ' . var_export($results->is_free, true) . "\n";
191191
echo 'credits_available = ' . $results->credits_available . "\n";
192192
}
193193
else {
194-
echo 'error_code = ' . $results->error_code . "\n";
195-
echo 'error_message = ' . $results->error_message . "\n";
194+
echo 'error_code = ' . $results->error->error_code . "\n";
195+
echo 'error_message = ' . $results->error->error_message . "\n";
196196
}
197197
?>
198198
```
@@ -212,4 +212,4 @@ Errors
212212
Copyright
213213
=========
214214

215-
Copyright(C) 2018-2020 by MailboxValidator.com.
215+
Copyright(C) 2018-2023 by MailboxValidator.com.

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,5 @@
2626
"FraudLabsPro\\Test\\": "tests/"
2727
}
2828
},
29-
"version": "2.0.0"
29+
"version": "2.1.0"
3030
}

src/EmailValidation.php

Lines changed: 45 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
class EmailValidation
55
{
66
private $apiKey = '';
7-
private $singleValidationApiUrl = 'https://api.mailboxvalidator.com/v1/validation/single';
8-
private $disposableEmailApiUrl = 'https://api.mailboxvalidator.com/v1/email/disposable';
9-
private $freeEmailApiUrl = 'https://api.mailboxvalidator.com/v1/email/free';
7+
private $singleValidationApiUrl = 'https://api.mailboxvalidator.com/v2/validation/single';
8+
private $disposableEmailApiUrl = 'https://api.mailboxvalidator.com/v2/email/disposable';
9+
private $freeEmailApiUrl = 'https://api.mailboxvalidator.com/v2/email/free';
1010

1111
public function __construct($key)
1212
{
@@ -17,21 +17,47 @@ public function __destruct()
1717
{
1818

1919
}
20+
21+
/*
22+
* Custom wrapper function for CURL
23+
*/
24+
public function curl($url) {
25+
// Initialize cURL session
26+
$ch = curl_init();
27+
28+
// Set cURL options
29+
curl_setopt($ch, CURLOPT_URL, $url);
30+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Return the response as a string instead of outputting it
31+
32+
// Execute cURL session and store the response in a variable
33+
$response = curl_exec($ch);
34+
35+
// Check for cURL errors
36+
if (curl_errno($ch)) {
37+
// echo 'cURL Error: ' . curl_error($ch);
38+
return null;
39+
}
40+
41+
// Close cURL session
42+
curl_close($ch);
43+
44+
return $response;
45+
}
2046

2147
/*
2248
* Validate whether an email address is a valid email or not.
2349
*/
2450
public function validateEmail($email)
2551
{
2652
try {
27-
$params = [ 'email' => $email, 'key' => $this->apiKey, 'format' => 'json' ];
53+
$params = [ 'email' => $email, 'key' => $this->apiKey, 'format' => 'json', 'source' => 'sdk-php-mbv' ];
2854
$params2 = [];
2955
foreach ($params as $key => $value) {
3056
$params2[] = $key . '=' . rawurlencode($value);
3157
}
3258
$params = implode('&', $params2);
3359

34-
$results = file_get_contents($this->singleValidationApiUrl . '?' . $params);
60+
$results = $this->curl($this->singleValidationApiUrl . '?' . $params);
3561

3662
if ($results !== false) {
3763
return json_decode($results);
@@ -42,6 +68,7 @@ public function validateEmail($email)
4268
} catch (Exception $e) {
4369
return null;
4470
}
71+
// restore_error_handler();
4572
}
4673

4774
/*
@@ -50,14 +77,14 @@ public function validateEmail($email)
5077
public function isDisposableEmail($email)
5178
{
5279
try {
53-
$params = [ 'email' => $email, 'key' => $this->apiKey, 'format' => 'json' ];
80+
$params = [ 'email' => $email, 'key' => $this->apiKey, 'format' => 'json', 'source' => 'sdk-php-mbv' ];
5481
$params2 = [];
5582
foreach ($params as $key => $value) {
5683
$params2[] = $key . '=' . rawurlencode($value);
5784
}
5885
$params = implode('&', $params2);
5986

60-
$results = file_get_contents($this->disposableEmailApiUrl . '?' . $params);
87+
$results = $this->curl($this->disposableEmailApiUrl . '?' . $params);
6188

6289
if ($results !== false) {
6390
return json_decode($results);
@@ -76,14 +103,14 @@ public function isDisposableEmail($email)
76103
public function isFreeEmail($email)
77104
{
78105
try {
79-
$params = [ 'email' => $email, 'key' => $this->apiKey, 'format' => 'json' ];
106+
$params = [ 'email' => $email, 'key' => $this->apiKey, 'format' => 'json', 'source' => 'sdk-php-mbv' ];
80107
$params2 = [];
81108
foreach ($params as $key => $value) {
82109
$params2[] = $key . '=' . rawurlencode($value);
83110
}
84111
$params = implode('&', $params2);
85112

86-
$results = file_get_contents($this->freeEmailApiUrl . '?' . $params);
113+
$results = $this->curl($this->freeEmailApiUrl . '?' . $params);
87114

88115
if ($results !== false) {
89116
return json_decode($results);
@@ -95,4 +122,13 @@ public function isFreeEmail($email)
95122
return null;
96123
}
97124
}
125+
126+
/*private function ()
127+
{
128+
set_error_handler(
129+
function ($severity, $message, $file, $line) {
130+
throw new ErrorException($message, $severity, $severity, $file, $line);
131+
}
132+
);
133+
}*/
98134
}

0 commit comments

Comments
 (0)