Dołącz do nas!

Wszystkie znaki interpunkcyjne za wyjątkiem kropek, łączników, znaków podkreśleń i spacji są niedozwolone.
Adres e-mail, koniecznie prawidłowy. Będą nań przesyłane wszystkie wiadomości e-mail od systemu. Adres nie jest udostępniany publicznie i będzie wykorzystywany jedynie w wypadku prośby o przesłanie nowego hasła lub do przesyłania informacji o nowościach czy innych komunikatów.
CAPTCHA
To pytanie ma na celu ochronę przed automatycznym spamowaniem oraz ustalenie, czy odwiedzający stronę jest człowiekiem.
Image CAPTCHA
Wpisz kod widoczny powyżej.

Logowanie

Nazwa użytkownika witryny Project Envision.
Hasło powiązane z nazwą użytkownika.
Prześlij nowe hasło

Email Validation in PowerShell

Email address validation is one of the most common validations used used by sysadmins and developers. There are many approaches we can use, some of us prefer to write their own function, some will choose using 3rd party library. I will show the method which is “built-in” the PowerShell, Email Validation using System.Net.Mail.MailAddress  class.

Below source code presents a simple function to perform simple email address check.

function ValidateEmail{
    param([string]$address)
    ($address -as [System.Net.Mail.MailAddress]).Address `
        -eq $address -and $address -ne $null
}

The function accepts one parameter called $address.
We start from casting provided string as System.Net.Mail.MailAddress object.

($address -as [System.Net.Mail.MailAddress])

Then we take Address property of MailAddress object, which returns email address

($address -as [System.Net.Mail.MailAddress]).Address

and we comapre if it is equal to submitted parameter and if it is not null

-eq $address $address -ne $null

The function returns either $True, if it is valid email address or $False if it is not a valid email. I have created small usage example of ValidateEmail.

Example Usage

function ValidateEmail{
    param([string]$address)
    ($address -as [System.Net.Mail.MailAddress]).Address `
	-eq $address -and $address -ne $null
}
$result = ValidateEmail("test@test.com")
Write-Host $result
$result = ValidateEmail("test@")
Write-Host $result
$result = ValidateEmail("powershell")
Write-Host $result
$result = ValidateEmail("")
Write-Host $result

Output

PS C:\Users\KrystianZieja> .\Documents\ProjectEnvision\tmp\ValidateEmail.ps1
True
False
False
False
Categories: