Sdílet prostřednictvím


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.