Send-MailMessage
Odešle e-mailovou zprávu.
Syntaxe
All
Send-MailMessage
[[-Body] <String>]
[[-SmtpServer] <String>]
[[-Subject] <String>]
[-To] <String[]>
-From <String>
[-Attachments <String[]>]
[-Bcc <String[]>]
[-BodyAsHtml]
[-Encoding <Encoding>]
[-Cc <String[]>]
[-DeliveryNotificationOption <DeliveryNotificationOptions>]
[-Priority <MailPriority>]
[-ReplyTo <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 najdete v části about_Preference_Variables.
Výstraha
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.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | PsPath |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | 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>.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Body
Určuje obsah e-mailové zprávy.
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | 2 |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-BodyAsHtml
Určuje, že hodnota parametru Body obsahuje kód HTML.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | BAH |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | 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>.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | 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?.
Vlastnosti parametru
| Typ: | PSCredential |
| Default value: | Current user |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | 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ýčtové hodnoty na bázi příznaků. 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 využít automatické doplňování pomocí klávesy Tab pro hodnoty.
Vlastnosti parametru
| Typ: | DeliveryNotificationOptions |
| Default value: | None |
| Přípustné hodnoty: | None, OnSuccess, OnFailure, Delay, Never |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | DNO |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | 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í kultury. Tato možnost byla přidána v PowerShellu 7.4. -
bigendianunicode: Kóduje ve formátu UTF-16 s použitím pořadí bajtů big-endian. -
bigendianutf32: Kóduje ve formátu UTF-32 s použitím big-endian bajtového pořadí. -
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.
Od verze PowerShell 7.4 můžete použít hodnotu Ansi parametru Encoding a předat číselné ID pro znakovou stránku ANSI aktuální kultury, aniž by bylo nutné ji 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 utf7 zadáte .
Vlastnosti parametru
| Typ: | Encoding |
| Default value: | ASCII |
| Přípustné hodnoty: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | BE |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | 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>.
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Port
Určuje alternativní port na serveru SMTP. Výchozí hodnota je 25, což je výchozí port SMTP.
Vlastnosti parametru
| Typ: | Int32 |
| Default value: | 25 |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | 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.
Vlastnosti parametru
| Typ: | MailPriority |
| Default value: | Normal |
| Přípustné hodnoty: | Normal, High, Low |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | 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.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | 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.
Vlastnosti parametru
| Typ: | String |
| Default value: | $PSEmailServer |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | Název počítače |
Sady parametrů
(All)
| Position: | 3 |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Subject
Parametr Subject není povinný. Tento parametr určuje předmět e-mailové zprávy.
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | náhradník (assuming "sub" is intended as "substitute") |
Sady parametrů
(All)
| Position: | 1 |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | 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>.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | 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á.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
CommonParameters
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.
Vstupy
String
Do této rutiny můžete převést cestu a názvy souborů příloh.
Výstupy
None
Tento cmdlet 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.