Send-MailMessage
Odešle e-mailovou zprávu.
Syntax
Send-MailMessage
[-To] <string[]>
[-Subject] <string>
[[-Body] <string>]
[[-SmtpServer] <string>]
-From <string>
[-Attachments <string[]>]
[-Bcc <string[]>]
[-BodyAsHtml]
[-Encoding <Encoding>]
[-Cc <string[]>]
[-DeliveryNotificationOption <DeliveryNotificationOptions>]
[-Priority <MailPriority>]
[-Credential <pscredential>]
[-UseSsl]
[-Port <int>]
[<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: | False |
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: | False |
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: | False |
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: | False |
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: | False |
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: | False |
Accept wildcard characters: | False |
-Encoding
Určuje typ kódování cílového souboru. Výchozí hodnota je Default
.
Přijatelné hodnoty pro tento parametr jsou následující:
ASCII
Používá znakovou sadu ASCII (7bitová).BigEndianUnicode
Používá UTF-16 s pořadím velkých bajtů.Default
Používá kódování odpovídající aktivní znakové stránce systému (obvykle ANSI).OEM
Používá kódování odpovídající aktuální znakové stránce OEM systému.Unicode
Používá UTF-16 s minimálním pořadím bajtů.UTF7
Používá UTF-7.UTF8
Používá UTF-8.UTF32
Používá UTF-32 s minimálním pořadím bajtů.
Typ: | Encoding |
Aliases: | BE |
přijímané hodnoty: | ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32 |
Position: | Named |
výchozí hodnota: | Default |
Vyžadováno: | False |
Accept pipeline input: | False |
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: | False |
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: | False |
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: | False |
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: | False |
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: | True |
Accept pipeline input: | False |
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: | False |
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: | False |
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.