---
title: clsEmailAddress
summary: API reference for clsEmailAddress.
status: draft
owner: SAIF
last_reviewed: 2026-07-24
library: SAIF.Business
reference_type: package
---

# clsEmailAddress

Email-address contact item used by SAIF contact flows. Represents an email-address contact item with validation and environment-aware verification helpers.

## Purpose
- Represents an email-address contact item with validation and environment-aware verification helpers.

## Context
- Namespace: `SAIF.Business.ContactInfo`
- Assembly/package: `SAIF.Business`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `UserName` | `Public ReadOnly Property UserName() As String` | Returns the username portion parsed from the email address value. |
| `Domain` | `Public ReadOnly Property Domain() As String` | Returns the domain portion parsed from the email address value. |
| `TopLevelDomain` | `Public ReadOnly Property TopLevelDomain() As String` | Returns the stored top-level-domain portion parsed from the email address value. |
| `StoredVersion` | `Public ReadOnly Property StoredVersion() As String` | The phone number as it was used to initialize the object.  Usually represents the format stored in the database. |
| `Value` | `<Reportable()> Public Property Value() As String` | Gets or Sets the Stored Email Address and parses the value based on Standard Email Formatting to get the Username and Domain properteis. |
| `MXRecords` | `Public ReadOnly Property MXRecords() As SAIF.Framework.DNS.MXRecord()` | Lazily resolves and returns the MX records for the current email domain. |
| `New` | `Public Sub New()` | Initializes an empty email address object without parsing a value. |
| `New` | `Public Sub New(ByVal EmailAddress As String)` | Initializes the object with an email address and parses its components through the Value property. |
| `IsDisposed` | `Public ReadOnly Property IsDisposed() As Boolean` | Returns whether Dispose has already been called for this instance. |
| `Dispose` | `Public Overloads Sub Dispose() Implements IDisposable.Dispose Me.Dispose(True)` | Releases the email address object and suppresses finalization. |
| `GetID` | `Public Overrides Function GetID() As Decimal` | Returns 0 for this email address object identifier. |
| `IsValidEmailAddressSyntax` | `Public Shared Function IsValidEmailAddressSyntax(ByVal EmailAddress As String) As Boolean` | Calls the legacy mail validator service to verify the email address syntax. |
| `IsValidEmailAddress` | `Public Shared Function IsValidEmailAddress(ByVal EmailAddress As String, Optional ByVal PingSMTPServer As Boolean = False) As Boolean` | Calls the legacy mail validator service to verify whether the email address is valid. |

## Behavioral notes
- The type uses the library email-validation rules and environment settings to evaluate address validity.
- Public properties expose the stored email address and related state as a contact-info value object.

## Constraints and usage notes
- Validation behavior depends on the configured email-validation service and environment settings.
- Consumers typically use the class as part of higher-level contact-information models.

## Sources
- `Business\SAIF.Business\ContactInfo\clsEmailAddress.vb`
