Soenneker.Validators.Gmail.Exists 4.0.1838

Prefix Reserved
dotnet add package Soenneker.Validators.Gmail.Exists --version 4.0.1838
                    
NuGet\Install-Package Soenneker.Validators.Gmail.Exists -Version 4.0.1838
                    
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.1838" />
                    
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.1838" />
                    
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.1838
                    
#r "nuget: Soenneker.Validators.Gmail.Exists, 4.0.1838"
                    
#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.1838
                    
#: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.1838
                    
Install as a Cake Addin
#tool nuget:?package=Soenneker.Validators.Gmail.Exists&version=4.0.1838
                    
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.1838 39 9/5/2026
4.0.1837 41 9/5/2026
4.0.1835 38 9/4/2026
4.0.1834 37 9/4/2026
4.0.1833 39 9/4/2026
4.0.1832 39 9/4/2026
4.0.1829 43 9/4/2026
4.0.1828 45 9/3/2026
4.0.1827 87 9/1/2026
4.0.1826 69 9/1/2026
4.0.1825 63 9/1/2026
4.0.1824 85 8/31/2026
4.0.1822 78 8/31/2026
4.0.1821 79 8/31/2026
4.0.1820 74 8/31/2026
4.0.1819 81 8/31/2026
4.0.1817 87 8/31/2026
4.0.1815 86 8/31/2026
4.0.1814 91 8/31/2026
4.0.1813 83 8/30/2026
Loading failed

Update dependency Soenneker.Utils.HttpClientCache to 4.0.2061 (#2343)