With Everbase, you can verify email addresses and detect disposable providers over a GraphQL API.
Let's use a Gmail address:
{
emailAddress(address: "example@gmail.com") {
host
local
ok
serviceProvider {
free
disposable
smtpOk
}
}
}
{
"data": {
"emailAddress": {
"host": "gmail.com",
"local": "example",
"ok": true,
"serviceProvider": {
"free": true,
"disposable": false,
"smtpOk": true
}
}
}
}
The ok
value on emailAddress
means the host has MX records and the SMTP probe was successful. It
is a shortcut to checking if serviceProvider
is not null and if smtpOk
is true.
The free
value is true
because Gmail can be used at no cost, but it does require signup, which
is why disposable
is set to false
.
Let's use a known disposable email provider:
{
emailAddress(address: "example@mailinator.com") {
serviceProvider {
free
disposable
}
}
}
{
"data": {
"emailAddress": {
"serviceProvider": {
"free": true,
"disposable": true
}
}
}
}
With a Mailinator address both free
and disposable
are set to true, as you'd expect.
Let's try this with a invalid domain.
{
emailAddress(address: "example@probablynotavalidhost.org") {
ok
serviceProvider {
smtpOk
}
}
}
{
"data": {
"emailAddress": {
"ok": false,
"serviceProvider": null
}
}
}
Here, serviceProvider
is null
because the domain does not have MX records. This is why
it's generally recommended to use check the ok
value before accessing serviceProvider
.
For more information, check the EmailAddress reference. To try your own queries, use the editor.