Soenneker.Validators.Gmail.Exists 11.0.1959

Prefix Reserved
dotnet add package Soenneker.Validators.Gmail.Exists --version 11.0.1959
                    
NuGet\Install-Package Soenneker.Validators.Gmail.Exists -Version 11.0.1959
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Soenneker.Validators.Gmail.Exists" Version="11.0.1959" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Soenneker.Validators.Gmail.Exists" Version="11.0.1959" />
                    
Directory.Packages.props
<PackageReference Include="Soenneker.Validators.Gmail.Exists" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Soenneker.Validators.Gmail.Exists --version 11.0.1959
                    
#r "nuget: Soenneker.Validators.Gmail.Exists, 11.0.1959"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Soenneker.Validators.Gmail.Exists@11.0.1959
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Soenneker.Validators.Gmail.Exists&version=11.0.1959
                    
Install as a Cake Addin
#tool nuget:?package=Soenneker.Validators.Gmail.Exists&version=11.0.1959
                    
Install as a Cake Tool

alternate text is missing from this package README image alternate text is missing from this package README image alternate text is missing from this package README image alternate text is missing from this package README image

Soenneker.Validators.Gmail.Exists

Applies a Google Calendar response-header heuristic that may indicate whether a Gmail address has an account.

Install

dotnet add package Soenneker.Validators.Gmail.Exists

Registration

using Soenneker.Validators.Gmail.Exists.Registrars;
using Microsoft.Extensions.DependencyInjection;

services.AddGmailExistsValidatorAsSingleton();

Scoped registration is also available. Both registrations reuse singleton HTTP-client-cache and rate-limiter-factory services. Disposing a scoped validator does not evict or dispose the shared named HTTP client.

Configure request spacing

{
  "GmailExistsValidator": {
    "IntervalMs": 3000
  }
}

The default interval is 3,000 milliseconds. EmailExists routes calls through a shared named rate limiter using this interval.

Check an address

using Soenneker.Validators.Gmail.Exists.Abstract;

bool? result = await validator.EmailExists(
    "person@gmail.com",
    cancellationToken);

The address is escaped as one URL path component and sent to Google's public Calendar ICS endpoint. The response is considered a positive match only when an X-Frame-Options header value equals SAMEORIGIN, ignoring case.

Results are:

  • true: the response contained the expected header value;
  • false: the request completed but the response did not contain that value;
  • null: HttpClient raised HttpRequestException.

Cancellation propagates as OperationCanceledException. The method does not validate email syntax or require a Gmail domain before sending the request.

EmailExistsWithoutLimit performs the same request without the local rate limiter. It does not bypass Google's limits and should be reserved for callers that already coordinate request pacing.

Reliability and privacy

This is an undocumented response heuristic, not an account-verification API. Google can change the endpoint or headers at any time, and positive or negative results may be wrong. Do not use it as proof of mailbox ownership, as an authentication factor, or as the sole reason to accept or reject a user. Verification email remains the reliable ownership check.

The queried address is disclosed to Google in the request URL. It is no longer included in this validator's logs, but it may still appear in upstream HTTP infrastructure or Google's logs. Ensure that use is compatible with your privacy requirements and provider terms.

Product Compatible and additional computed target framework versions.
.NET net11.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
11.0.1959 0 11/15/2026
11.0.1957 121 11/11/2026
11.0.1956 52 11/11/2026
11.0.1955 49 11/11/2026
11.0.1954 77 11/11/2026
11.0.1953 76 11/11/2026
11.0.1951 81 11/11/2026
11.0.1949 73 11/11/2026
11.0.1948 423 11/3/2026
11.0.1947 72 11/3/2026
11.0.1946 55 11/3/2026
11.0.1945 60 11/3/2026
11.0.1943 64 11/3/2026
11.0.1942 65 11/2/2026
11.0.1941 127 10/27/2026
11.0.1940 66 10/27/2026
11.0.1939 69 10/27/2026
11.0.1936 66 10/26/2026
11.0.1933 69 10/26/2026
11.0.1932 73 10/26/2026
Loading failed

Update dependency Soenneker.Utils.HttpClientCache to 11.0.2155 (#2512)