Send-MailMessage
Odešle e-mailovou zprávu.
Syntax
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 Send-MailMessage
příkaz selže. Použijte parametr SmtpServer nebo nastavte $PSEmailServer
proměnnou na platný server SMTP.
Hodnota přiřazená $PSEmailServer
je výchozím nastavením SMTP pro PowerShell. Další informace najdete v tématu about_Preference_Variables.
Upozorňující
Rutina Send-MailMessage
je zastaralá. Tato rutina nezaručuje zabezpečená připojení k serverům SMTP. I když v PowerShellu není k dispozici žádná okamžitá náhrada, doporučujeme nepoužívat Send-MailMessage
. Další informace naleznete 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 From, To a Subject jsou vyžadovány parametrem Send-MailMessage
. Tento příklad používá výchozí $PSEmailServer
proměnnou 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ět používá jako zprávu textový řetězec Test pošty , protože volitelný parametr Text 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 Text je obsah zprávy.
Parametr Přílohy určuje soubor v aktuálním adresáři, který je připojený k e-mailové zprávě. Parametr Priority nastaví zprávu na prioritu High
. 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 Kopie 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 Předmět je zpráva, protože volitelný základní parametr není zahrnutý.
Parametr Credential určuje přihlašovací údaje správce domény, které se použijí 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 převést cesty a názvy souborů na Send-MailMessage
.
Typ: | String[] |
Aliases: | PsPath |
Position: | Named |
výchozí hodnota: | None |
Vyžadováno: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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 |
výchozí hodnota: | None |
Vyžadováno: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Body
Určuje obsah e-mailové zprávy.
Typ: | String |
Position: | 2 |
výchozí hodnota: | None |
Vyžadováno: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-BodyAsHtml
Určuje, že hodnota parametru Body obsahuje kód HTML.
Typ: | SwitchParameter |
Aliases: | BAH |
Position: | Named |
výchozí hodnota: | None |
Vyžadováno: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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 |
výchozí hodnota: | None |
Vyžadováno: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Credential
Určuje uživatelský účet, který má oprávnění k provedení této akce. Ve výchozím nastavení je to 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 naleznete v tématu Jak zabezpečený je SecureString?.
Typ: | PSCredential |
Position: | Named |
výchozí hodnota: | Current user |
Vyžadováno: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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, jestli je doručení úspěšné.OnFailure
: Upozorněte, pokud doručení není úspěšné.Delay
: Upozorněte, pokud je doručení zpožděné.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 oddělený čárkami 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 |
Aliases: | DNO |
přijímané hodnoty: | None, OnSuccess, OnFailure, Delay, Never |
Position: | Named |
výchozí hodnota: | None |
Vyžadováno: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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 kódovou 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í malého bajtového pořadí.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 Kódování také číselná ID registrovaných znakových stránek (jako -Encoding 1251
) nebo názvy řetězců registrovaných znakových stránek (například -Encoding "windows-1251"
). Další informace najdete v dokumentaci k .NET pro Encoding.CodePage.
Počínaje PowerShellem 7.4 můžete hodnotu parametru Encoding použít Ansi
k předání číselného 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 při zadání parametru Encoding zapíše utf7
upozornění.
Typ: | Encoding |
Aliases: | BE |
přijímané hodnoty: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
Position: | Named |
výchozí hodnota: | ASCII |
Vyžadováno: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-From
Parametr From je povinný. 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 |
výchozí hodnota: | None |
Vyžadováno: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Port
Určuje alternativní port na serveru SMTP. Výchozí hodnota je 25, což je výchozí port SMTP.
Typ: | Int32 |
Position: | Named |
výchozí hodnota: | 25 |
Vyžadováno: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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řijímané hodnoty: | Normal, High, Low |
Position: | Named |
výchozí hodnota: | Normal |
Vyžadováno: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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 |
výchozí hodnota: | None |
Vyžadováno: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SmtpServer
Určuje název serveru SMTP, který odešle e-mailovou zprávu.
Výchozí hodnota je hodnota $PSEmailServer
proměnné předvoleb. Pokud proměnná předvoleb není nastavená a tento parametr se nepoužívá, Send-MailMessage
příkaz selže.
Typ: | String |
Aliases: | ComputerName |
Position: | 3 |
výchozí hodnota: | $PSEmailServer |
Vyžadováno: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Subject
Parametr Subject není povinný. Tento parametr určuje předmět e-mailové zprávy.
Typ: | String |
Aliases: | sub |
Position: | 1 |
výchozí hodnota: | None |
Vyžadováno: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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 |
výchozí hodnota: | None |
Vyžadováno: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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 |
výchozí hodnota: | None |
Vyžadováno: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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 naleznete 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.