Send-MailMessage
Odešle e-mailovou zprávu.
Syntaxe
Send-MailMessage
[-Attachments <String[]>]
[-Bcc <String[]>]
[[-Body] <String>]
[-BodyAsHtml]
[-Encoding <Encoding>]
[-Cc <String[]>]
[-DeliveryNotificationOption <DeliveryNotificationOptions>]
-From <String>
[[-SmtpServer] <String>]
[-Priority <MailPriority>]
[-ReplyTo <String[]>]
[[-Subject] <String>]
[-To] <String[]>
[-Credential <PSCredential>]
[-UseSsl]
[-Port <Int32>]
[<CommonParameters>]
Description
Rutina Send-MailMessage
odešle e-mailovou zprávu z PowerShellu.
Je nutné zadat server SMTP (Simple Mail Transfer Protocol) nebo příkaz Send-MailMessage
selže. Použijte parametr SmtpServer nebo nastavte proměnnou $PSEmailServer
na platný server SMTP.
Hodnota přiřazená $PSEmailServer
je výchozím nastavením SMTP pro PowerShell. Další informace naleznete v tématu about_Preference_Variables.
Varování
Rutina Send-MailMessage
je zastaralá. Tato rutina nezaručuje zabezpečená připojení k serverům SMTP. V PowerShellu není k dispozici žádná okamžitá náhrada, doporučujeme nepoužívat Send-MailMessage
. Další informace najdete v tématu Poznámky k kompatibilitě platformy DE0005.
Příklady
Příklad 1: Odeslání e-mailu od jedné osoby jiné osobě
Tento příklad odešle e-mailovou zprávu jedné osobě jiné osobě.
Parametry z, Doa Předmět jsou vyžadovány Send-MailMessage
. Tento příklad používá výchozí proměnnou $PSEmailServer
pro server SMTP, takže parametr SmtpServer není potřeba.
$sendMailMessageSplat = @{
From = 'User01 <user01@fabrikam.com>'
To = 'User02 <user02@fabrikam.com>'
Subject = 'Test mail'
}
Send-MailMessage @sendMailMessageSplat
Rutina Send-MailMessage
používá parametr From k určení odesílatele zprávy. Parametr To určuje příjemce zprávy. Parametr předmětu používá jako zprávu textový řetězec Testovací pošta, protože volitelný parametr textu není zahrnutý.
Příklad 2: Odeslání přílohy
Tento příklad odešle e-mailovou zprávu s přílohou.
$sendMailMessageSplat = @{
From = 'User01 <user01@fabrikam.com>'
To = 'User02 <user02@fabrikam.com>', 'User03 <user03@fabrikam.com>'
Subject = 'Sending the Attachment'
Body = "Forgot to send the attachment. Sending now."
Attachments = '.\data.csv'
Priority = 'High'
DeliveryNotificationOption = 'OnSuccess', 'OnFailure'
SmtpServer = 'smtp.fabrikam.com'
}
Send-MailMessage @sendMailMessageSplat
Rutina Send-MailMessage
používá parametr From k určení odesílatele zprávy. Parametr To určuje příjemce zprávy. Parametr Předmět popisuje obsah zprávy. Parametr Body je obsah zprávy.
Parametr Přílohy určuje soubor v aktuálním adresáři připojeném k e-mailové zprávě. Parametr Priority nastaví zprávu na High
prioritu. Parametr DeliveryNotificationOption určuje dvě hodnoty, OnSuccess
a OnFailure
. Odesílatel obdrží e-mailová oznámení, která potvrdí úspěch nebo selhání doručení zprávy.
Parametr SmtpServer nastaví server SMTP na smtp.fabrikam.com
.
Příklad 3: Odeslání e-mailu do seznamu adresátů
Tento příklad odešle e-mailovou zprávu do seznamu adresátů.
$sendMailMessageSplat = @{
From = 'User01 <user01@fabrikam.com>'
To = 'ITGroup <itdept@fabrikam.com>'
Cc = 'User02 <user02@fabrikam.com>'
Bcc = 'ITMgr <itmgr@fabrikam.com>'
Subject = "Don't forget today's meeting!"
Credential = 'domain01\admin01'
UseSsl = $true
}
Send-MailMessage @sendMailMessageSplat
Rutina Send-MailMessage
používá parametr From k určení odesílatele zprávy. Parametr To určuje příjemce zprávy. Parametr Cc odešle kopii zprávy zadanému příjemci. Parametr Skrytá kopie odešle slepou kopii zprávy. Nevidomá kopie je e-mailová adresa, která je ostatním příjemcům skrytá. Parametr subject je zpráva, protože volitelný parametr text není zahrnutý.
Parametr přihlašovacích údajů určuje přihlašovací údaje správce domény k odeslání zprávy. Parametr UseSsl určuje, že protokol SSL (Secure Socket Layer) vytvoří zabezpečené připojení.
Parametry
-Attachments
Určuje cestu a názvy souborů, které se mají připojit k e-mailové zprávě. Tento parametr můžete použít nebo kanálovat cesty a názvy souborů k Send-MailMessage
.
Typ: | String[] |
Aliasy: | PsPath |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Bcc
Určuje e-mailové adresy, které obdrží kopii e-mailu, ale nejsou uvedené jako příjemci zprávy. Zadejte jména (volitelné) a e-mailovou adresu, například Name <someone@fabrikam.com>
.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Body
Určuje obsah e-mailové zprávy.
Typ: | String |
Position: | 2 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-BodyAsHtml
Určuje, že hodnota parametru Body obsahuje kód HTML.
Typ: | SwitchParameter |
Aliasy: | BAH |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Cc
Určuje e-mailové adresy, na které se odešle kopie uhlíku (CC). Zadejte jména (volitelné) a e-mailovou adresu, například Name <someone@fabrikam.com>
.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Credential
Určuje uživatelský účet, který má oprávnění k provedení této akce. Výchozí hodnota je aktuální uživatel.
Zadejte uživatelské jméno, například User01 nebo Domain01\User01. Nebo zadejte objekt PSCredential, například objekt z rutiny Get-Credential
.
Přihlašovací údaje jsou uloženy v objektu PSCredential a heslo je uloženo jako SecureString.
Poznámka
Další informace o ochraně dat SecureString najdete v tématu Jak zabezpečený je SecureString?.
Typ: | PSCredential |
Position: | Named |
Default value: | Current user |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-DeliveryNotificationOption
Určuje možnosti oznámení o doručení e-mailové zprávy. Můžete zadat více hodnot. Žádná není výchozí hodnota. Alias pro tento parametr je DNO.
Oznámení o doručení se posílají na adresu v parametru From.
Přijatelné hodnoty pro tento parametr jsou následující:
-
None
: Žádné oznámení. -
OnSuccess
: Upozorněte, pokud je doručení úspěšné. -
OnFailure
: Upozorněte na neúspěšné doručení. -
Delay
: Upozorněte, zda je doručení zpožděno. -
Never
: Nikdy neoznamujte.
Tyto hodnoty jsou definovány jako výčet založený na příznaku. Pomocí tohoto parametru můžete zkombinovat více hodnot a nastavit více příznaků. Hodnoty lze předat parametru DeliveryNotification jako pole hodnot nebo jako řetězec s oddělovači těchto hodnot. Rutina zkombinuje hodnoty pomocí binární operace OR. Předání hodnot jako pole je nejjednodušší možností a také umožňuje použít pro hodnoty dokončování tabulátoru.
Typ: | DeliveryNotificationOptions |
Aliasy: | DNO |
Přípustné hodnoty: | None, OnSuccess, OnFailure, Delay, Never |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Encoding
Určuje typ kódování cílového souboru. Výchozí hodnota je utf8NoBOM
.
Přijatelné hodnoty pro tento parametr jsou následující:
-
ascii
: Používá kódování znakové sady ASCII (7bitová). -
ansi
: Používá kódování pro znakovou stránku ANSI aktuální jazykové verze. Tato možnost byla přidána v PowerShellu 7.4. -
bigendianunicode
: Kóduje ve formátu UTF-16 pomocí pořadí velkých bajtů. -
bigendianutf32
: Kóduje ve formátu UTF-32 pomocí pořadí velkých bajtů. -
oem
: Používá výchozí kódování pro MS-DOS a konzolové programy. -
unicode
: Kóduje ve formátu UTF-16 pomocí pořadí malých bajtů. -
utf7
: Kóduje ve formátu UTF-7. -
utf8
: Kóduje ve formátu UTF-8. -
utf8BOM
: Kódování ve formátu UTF-8 pomocí značky pořadí bajtů (BOM) -
utf8NoBOM
: Kódování ve formátu UTF-8 bez značky pořadí bajtů (BOM) -
utf32
: Kóduje ve formátu UTF-32.
Počínaje PowerShellem 6.2 umožňuje parametr Encoding také číselné ID registrovaných znakových stránek (například -Encoding 1251
) nebo názvy řetězců registrovaných znakových stránek (například -Encoding "windows-1251"
). Další informace naleznete v dokumentaci .NET pro Encoding.CodePage.
Počínaje PowerShellem 7.4 můžete použít hodnotu Ansi
parametru Encoding a předat číselné ID pro znakovou stránku ANSI aktuální jazykové verze, aniž byste ji museli zadávat ručně.
Poznámka
UTF-7* se už nedoporučuje používat. Od PowerShellu 7.1 se zapíše upozornění, pokud pro parametr Encoding zadáte utf7
.
Typ: | Encoding |
Aliasy: | BE |
Přípustné hodnoty: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
Position: | Named |
Default value: | ASCII |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-From
Je vyžadován parametr From. Tento parametr určuje e-mailovou adresu odesílatele. Zadejte jméno (volitelné) a e-mailovou adresu, například Name <someone@fabrikam.com>
.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Port
Určuje alternativní port na serveru SMTP. Výchozí hodnota je 25, což je výchozí port SMTP.
Typ: | Int32 |
Position: | Named |
Default value: | 25 |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Priority
Určuje prioritu e-mailové zprávy. Normální je výchozí hodnota. Přijatelné hodnoty pro tento parametr jsou Normal, High a Low.
Typ: | MailPriority |
Přípustné hodnoty: | Normal, High, Low |
Position: | Named |
Default value: | Normal |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-ReplyTo
Určuje další e-mailové adresy (jiné než od adresy), které se mají použít k odpovídání na tuto zprávu.
Zadejte jména (volitelné) a e-mailovou adresu, například Name <someone@fabrikam.com>
.
Tento parametr byl představen v PowerShellu 6.2.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-SmtpServer
Určuje název serveru SMTP, který odešle e-mailovou zprávu.
Výchozí hodnota je hodnota proměnné předvoleb $PSEmailServer
. Pokud proměnná předvoleb není nastavená a tento parametr se nepoužívá, příkaz Send-MailMessage
selže.
Typ: | String |
Aliasy: | ComputerName |
Position: | 3 |
Default value: | $PSEmailServer |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Subject
Parametr Subject není povinný. Tento parametr určuje předmět e-mailové zprávy.
Typ: | String |
Aliasy: | sub |
Position: | 1 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-To
Parametr To je povinný. Tento parametr určuje e-mailovou adresu příjemce. Zadejte jména (volitelné) a e-mailovou adresu, například Name <someone@fabrikam.com>
.
Typ: | String[] |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-UseSsl
Protokol SSL (Secure Sockets Layer) slouží k navázání zabezpečeného připojení ke vzdálenému počítači pro odesílání pošty. Ve výchozím nastavení se ssl nepoužívá.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
Vstupy
Do této rutiny můžete převést cestu a názvy souborů příloh.
Výstupy
None
Tato rutina nevrátí žádný výstup.
Poznámky
Rutina Send-MailMessage
je zastaralá. Další informace najdete v tématu Poznámky k kompatibilitě platformy DE0005. Tato rutina nezaručuje zabezpečená připojení k serverům SMTP.
DE0005 navrhuje použití knihovny třetích stran, MailKit. Pokud používáte Exchange Online, můžete použít Send-MgUserMail ze sady Microsoft Graph PowerShell SDK.