Powershell – jak poslat email

Existuje několik různých způsobů, jak poslat email pomocí Powershellu:

Odeslání emailu pomocí Outlooku

Outlook nemusí být spuštěn, aby následující funkce fungovala (první řádka skriptu otevírá novou instanci Outlooku). Pokud chcete odeslat email více příjemcům, tak je oddělujte ve skriptu čárkou:

Start-Process Outlook
$o = New-Object -com Outlook.Application
$mail = $o.CreateItem(0)
$mail.subject = "Testovací zpráva"
$mail.body = "První řádka`nDruhá řádka`nTřetí řádka"
$mail.To = "muj.email@mojedomena.cz"
$mail.Attachments.Add("C:\pokus.txt")
$mail.Send()
$o.Quit()

Odeslat email pomocí cmdletu

Opět, pokud chcete odeslat zprávu více příjemcům, pak je oddělujte čárkou. A všimněte si outlookového zápisu emailové adresy. Příklad je převzat z nápovědy.

send-mailmessage -to "User01 <user01@example.com>" -from "ITGroup <itdept@example.com>" -cc "User02 <user02@example.com>" -bcc "ITMgr <itmgr@example.com>" -subject "Don't forget today's meeting!" -credential domain01\admin01 -useSSL

Doplňující informace

Ověření (validace) emailové adresy

1. způsob pomocí .NET ()

function isEmailAddress($object) {
($object -as [System.Net.Mail.MailAddress]).Address -eq $object -and $object -ne $null}
isEmailAddress "tobias"
isEmailaddress "tobias@powershell.com"
isEmailAddress $null

2. způsob pomocí regulárního výrazu

"My email is tobias.weltner@email.de and also tobias@powershell.de" |
Select-String -AllMatches '\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b' |
Select-Object -ExpandProperty Matches | Select-Object -ExpandProperty Value

Pozor Powershell vyhledá jen první výraz! Pokud chcete vyhledat všechny shodné výrazy musíte použít .NET jako v následujícím skriptu:

$text = 'multiple emails like tobias.weltner@email.de and tobias@powershell.de in a string'
$emailpattern = '(?i)\b([A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4})\b'

$emails = ([regex]$emailpattern).Matches($text) |
  ForEach-Object { $_.Groups[1].Value }
  
$emails[0]

"*" * 100

$emails

IT aktuality

Citáty

Pintův zákon: Prokažte někomu laskavost a za chvíli to budete mít v popisu práce.

Fyzika je v naší moderní evropské společnosti překonaná a nežádoucí a fyzikální zákony jsou považovány za zastaralé. Dávno jsme je nahradili nařízeními Evropské komise.

Všechny přírodní zákony lze obejít, pokud zvládnete jednoduché umění pracovat bez myšlení.