Soenneker.Validators.Gmail.Exists 4.0.1827

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Soenneker.Validators.Gmail.Exists --version 4.0.1827
                    
NuGet\Install-Package Soenneker.Validators.Gmail.Exists -Version 4.0.1827
                    
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.1827" />
                    
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.1827" />
                    
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.1827
                    
#r "nuget: Soenneker.Validators.Gmail.Exists, 4.0.1827"
                    
#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.1827
                    
#: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.1827
                    
Install as a Cake Addin
#tool nuget:?package=Soenneker.Validators.Gmail.Exists&version=4.0.1827
                    
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.1854 41 9/9/2026
4.0.1853 34 9/9/2026
4.0.1852 61 9/9/2026
4.0.1851 66 9/9/2026
4.0.1850 56 9/9/2026
4.0.1849 62 9/8/2026
4.0.1848 74 9/8/2026
4.0.1847 76 9/8/2026
4.0.1846 76 9/8/2026
4.0.1845 77 9/8/2026
4.0.1843 80 9/7/2026
4.0.1842 92 9/7/2026
4.0.1840 88 9/7/2026
4.0.1839 85 9/7/2026
4.0.1838 83 9/5/2026
4.0.1837 88 9/5/2026
4.0.1835 84 9/4/2026
4.0.1834 81 9/4/2026
4.0.1833 84 9/4/2026
4.0.1827 106 9/1/2026
Loading failed

Update dependency Soenneker.Utils.RateLimiting.Factory to 4.0.1163 (#2353)