Send-MailMessage

E-mailt küld.

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

A Send-MailMessage parancsmag e-mailt küld a PowerShellből.

Meg kell adnia egy SMTP-kiszolgálót, vagy a Send-MailMessage parancs meghiúsul. Használja az SmtpServer paramétert, vagy állítsa be a $PSEmailServer változót érvényes SMTP-kiszolgálóra. A hozzárendelt $PSEmailServer érték a PowerShell alapértelmezett SMTP-beállítása. További információ: about_Preference_Variables.

Figyelmeztetés

A Send-MailMessage parancsmag elavult. Ez a parancsmag nem garantálja az SMTP-kiszolgálókhoz való biztonságos csatlakozást. Bár a PowerShellben nem érhető el azonnali csere, javasoljuk, hogy ne használja Send-MailMessage. További információ: Platformkompatibilitási megjegyzés DE0005.

Példák

1. példa: E-mail küldése egy személytől egy másik személynek

Ez a példa egy e-mailt küld egy személytől egy másik személynek.

A Feladó, a Tárgy és a Tárgy paramétert a következő írja elő Send-MailMessage: . Ez a példa az SMTP-kiszolgáló alapértelmezett $PSEmailServer változót használja, ezért az SmtpServer paraméterre nincs szükség.

$sendMailMessageSplat = @{
    From = 'User01 <user01@fabrikam.com>'
    To = 'User02 <user02@fabrikam.com>'
    Subject = 'Test mail'
}
Send-MailMessage @sendMailMessageSplat

A Send-MailMessage parancsmag a Feladó paraméter használatával adja meg az üzenet feladóját. A Címzett paraméter megadja az üzenet címzettjét. A Tárgy paraméter a Test mail szöveges sztringet használja üzenetként, mert az opcionális Törzs paraméter nem szerepel benne.

2. példa: Melléklet küldése

Ez a példa egy melléklettel ellátott e-mailt küld.

$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

A Send-MailMessage parancsmag a Feladó paraméter használatával adja meg az üzenet feladóját. A Címzett paraméter megadja az üzenet címzettjeinek nevét. A Tárgy paraméter az üzenet tartalmát írja le. A Törzs paraméter az üzenet tartalma.

A Mellékletek paraméter az e-mailhez csatolt aktuális könyvtárban lévő fájlt adja meg. A Prioritás paraméter prioritásra állítja az High üzenetet. A DeliveryNotificationOption paraméter két értéket OnSuccessOnFailureés . A feladó e-mail-értesítéseket kap, hogy megerősítse az üzenetkézbesítés sikerességét vagy sikertelenségét. Az SmtpServer paraméter a következőre állítja az SMTP-kiszolgálót smtp.fabrikam.com: .

3. példa: E-mail küldése levelezőlistára

Ez a példa e-mailt küld egy levelezőlistának.

$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

A Send-MailMessage parancsmag a Feladó paraméter használatával adja meg az üzenet feladóját. A Címzett paraméter megadja az üzenet címzettjeinek nevét. A Másolatot kap paraméter elküldi az üzenet másolatát a megadott címzettnek. A Titkos másolat paraméter vakmásolatot küld az üzenetről. A vakmásolat egy e-mail-cím, amely elrejtve van a többi címzett elől. A Tárgy paraméter az üzenet, mert az opcionális Törzs paraméter nem szerepel benne.

A hitelesítő adat paraméter megadja, hogy a rendszer a tartományi rendszergazda hitelesítő adatait használja az üzenet küldéséhez. A UseSsl paraméter azt határozza meg, hogy a Secure Socket Layer (SSL) biztonságos kapcsolatot hoz létre.

Paraméterek

-Attachments

Megadja az e-mailhez csatolandó fájlok elérési útját és fájlneveit. Ezt a paramétert használhatja, vagy átirányíthatja az elérési utakat és a fájlneveket a következőre Send-MailMessage: .

Type:String[]
Aliases:PsPath
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Bcc

Megadja azokat az e-mail-címeket, amelyek megkapják az e-mail másolatát, de nem szerepelnek az üzenet címzettjei között. Adja meg a neveket (nem kötelező) és az e-mail-címet, például Name <someone@fabrikam.com>.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Body

Megadja az e-mail tartalmát.

Type:String
Position:2
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-BodyAsHtml

Megadja, hogy a Törzs paraméter értéke HTML-t tartalmaz-e.

Type:SwitchParameter
Aliases:BAH
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Cc

Megadja azokat az e-mail-címeket, amelyekre az e-mail másolatot (CC) küldi a rendszer. Adja meg a neveket (nem kötelező) és az e-mail-címet, például Name <someone@fabrikam.com>.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Credential

A művelet végrehajtásához engedéllyel rendelkező felhasználói fiókot ad meg. Alapértelmezés szerint az aktuális felhasználó.

Írjon be egy felhasználónevet, például User01 vagy Domain01\User01. Vagy írjon be egy PSCredential objektumot, például egyet a Get-Credential parancsmagból.

A hitelesítő adatokat PSCredential objektum tárolja, a jelszót pedig SecureStringként tárolja a rendszer.

Feljegyzés

További információ a SecureString adatvédelemről: Mennyire biztonságos a SecureString?.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DeliveryNotificationOption

Megadja az e-mail kézbesítési értesítési beállításait. Több értéket is megadhat. Egyik sem az alapértelmezett érték. Ennek a paraméternek az aliasa a DNO.

A rendszer elküldi a kézbesítési értesítéseket a Feladó paraméter címére .

A paraméter elfogadható értékei a következők:

  • None: Nincs értesítés.
  • OnSuccess: Értesítést kérek, ha a kézbesítés sikeres.
  • OnFailure: Értesítést kérek, ha a kézbesítés sikertelen.
  • Delay: Értesítést kérek, ha a kézbesítés késik.
  • Never: Soha ne értesítsen.

Ezek az értékek jelölőalapú számbavételként vannak definiálva. Több érték kombinálásával több jelölőt is beállíthat ezzel a paraméterrel. Az értékek átadhatók a DeliveryNotification paraméternek értéktömbként vagy az értékek vesszővel elválasztott sztringjeként. A parancsmag bináris VAGY művelettel egyesíti az értékeket. Az értékek tömbként való átadása a legegyszerűbb lehetőség, és lehetővé teszi a tabulátorkiegészítés használatát is az értékeken.

Type:DeliveryNotificationOptions
Aliases:DNO
Accepted values:None, OnSuccess, OnFailure, Delay, Never
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Encoding

Megadja a célfájl kódolási típusát. Az alapértelmezett érték utf8NoBOM.

A paraméter elfogadható értékei a következők:

  • ascii: Az ASCII (7 bites) karakterkészlet kódolását használja.
  • ansi: Az aktuális kultúra ANSI-kódlapjának kódolását használja. Ez a beállítás a PowerShell 7.4-ben lett hozzáadva.
  • bigendianunicode: UTF-16 formátumban kódolja a big-endian bájtsorrendet.
  • bigendianutf32: UTF-32 formátumban kódolja a big-endian bájtsorrendet.
  • oem: Az MS-DOS és a konzolprogramok alapértelmezett kódolását használja.
  • unicode: UTF-16 formátumban kódolja a kis végű bájtsorrendet.
  • utf7: UTF-7 formátumban kódol.
  • utf8: UTF-8 formátumban kódol.
  • utf8BOM: UTF-8 formátumban kódol byte order mark (BOM)
  • utf8NoBOM: UTF-8 formátumban kódol byte order mark (BOM) nélkül
  • utf32: UTF-32 formátumban kódol.

A PowerShell 6.2-től kezdődően a Kódolás paraméter lehetővé teszi a regisztrált kódlapok (például -Encoding 1251) numerikus azonosítóit vagy a regisztrált kódlapok sztringneveit (például -Encoding "windows-1251"). További információt a Encoding.CodePage .NET-dokumentációjában talál.

A PowerShell 7.4-től kezdve a AnsiKódolás paraméter értékével anélkül adhat meg numerikus azonosítót az aktuális kultúra ANSI-kódlapjához, hogy manuálisan kellene megadnia.

Feljegyzés

Az UTF-7* már nem ajánlott. A PowerShell 7.1-ről figyelmeztetést ír, ha utf7 megadja a Kódolás paramétert.

Type:Encoding
Aliases:BE
Accepted values:ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32
Position:Named
Default value:ASCII
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-From

A From paraméter megadása kötelező. Ez a paraméter a feladó e-mail-címét adja meg. Adjon meg egy nevet (nem kötelező) és e-mail-címet, például Name <someone@fabrikam.com>.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Port

Alternatív portot ad meg az SMTP-kiszolgálón. Az alapértelmezett érték 25, amely az alapértelmezett SMTP-port.

Type:Int32
Position:Named
Default value:25
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Priority

Megadja az e-mail prioritását. A normál érték az alapértelmezett érték. A paraméter elfogadható értékei a Normál, a Magas és az Alacsony.

Type:MailPriority
Accepted values:Normal, High, Low
Position:Named
Default value:Normal
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ReplyTo

További e-mail-címeket (a Feladó címtől eltérő) ad meg az üzenet megválaszolásához. Adja meg a neveket (nem kötelező) és az e-mail-címet, például Name <someone@fabrikam.com>.

Ez a paraméter a PowerShell 6.2-ben lett bevezetve.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SmtpServer

Megadja az e-mailt küldő SMTP-kiszolgáló nevét.

Az alapértelmezett érték a beállítási $PSEmailServer változó értéke. Ha a beállítási változó nincs beállítva, és nem használja ezt a paramétert, a Send-MailMessage parancs meghiúsul.

Type:String
Aliases:ComputerName
Position:3
Default value:$PSEmailServer
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Subject

A Tárgy paraméter nem szükséges. Ez a paraméter határozza meg az e-mail tárgyát.

Type:String
Aliases:sub
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-To

A To paraméter megadása kötelező. Ez a paraméter a címzett e-mail-címét adja meg. Adja meg a neveket (nem kötelező) és az e-mail-címet, például Name <someone@fabrikam.com>.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-UseSsl

A Secure Sockets Layer (SSL) protokoll használatával biztonságos kapcsolatot létesíthet a távoli számítógéppel az e-mailek küldéséhez. Alapértelmezés szerint az SSL nem használatos.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

Bevitelek

String

A parancsmagba a mellékletek elérési útját és fájlneveit is beszűkítheti.

Kimenetek

None

Ez a parancsmag nem ad vissza kimenetet.

Jegyzetek

A Send-MailMessage parancsmag elavult. További információ: Platformkompatibilitási megjegyzés DE0005. Ez a parancsmag nem garantálja az SMTP-kiszolgálókhoz való biztonságos csatlakozást.

A DE0005 a MailKit harmadik féltől származó kódtár használatát javasolja. Ha Exchange Online-t használ, használhatja a Send-MgUserMailt a Microsoft Graph PowerShell SDK-ból.