Soenneker.Validators.Gmail.Exists 4.0.1894

Prefix Reserved
dotnet add package Soenneker.Validators.Gmail.Exists --version 4.0.1894
                    
NuGet\Install-Package Soenneker.Validators.Gmail.Exists -Version 4.0.1894
                    
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="4.0.1894" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Soenneker.Validators.Gmail.Exists" Version="4.0.1894" />
                    
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 4.0.1894
                    
#r "nuget: Soenneker.Validators.Gmail.Exists, 4.0.1894"
                    
#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@4.0.1894
                    
#: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=4.0.1894
                    
Install as a Cake Addin
#tool nuget:?package=Soenneker.Validators.Gmail.Exists&version=4.0.1894
                    
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 net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
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
4.0.1894 0 9/29/2026
4.0.1893 42 9/25/2026
4.0.1892 43 9/25/2026
4.0.1891 39 9/25/2026
4.0.1890 44 9/25/2026
4.0.1889 41 9/25/2026
4.0.1888 39 9/25/2026
4.0.1887 45 9/24/2026
4.0.1884 45 9/24/2026
4.0.1883 48 9/24/2026
4.0.1882 109 9/17/2026
4.0.1881 90 9/16/2026
4.0.1880 88 9/16/2026
4.0.1879 94 9/16/2026
4.0.1878 90 9/16/2026
4.0.1877 82 9/16/2026
4.0.1876 95 9/16/2026
4.0.1874 90 9/15/2026
4.0.1871 92 9/14/2026
4.0.1870 95 9/13/2026
Loading failed

Updated Soenneker.Utils.RateLimiting.Factory to 4.0.1200