Send-MailMessage
Skickar ett e-postmeddelande.
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
Cmdleten Send-MailMessage
skickar ett e-postmeddelande inifrån PowerShell.
Du måste ange en SMTP-server (Simple Mail Transfer Protocol), annars Send-MailMessage
misslyckas kommandot. Använd parametern SmtpServer eller ange variabeln $PSEmailServer
till en giltig SMTP-server.
Värdet som tilldelas är $PSEmailServer
standardinställningen för SMTP för PowerShell. Mer information finns i about_Preference_Variables.
Varning
Cmdleten Send-MailMessage
är föråldrad. Den här cmdleten garanterar inte säkra anslutningar till SMTP-servrar. Även om det inte finns någon omedelbar ersättning i PowerShell rekommenderar vi att du inte använder Send-MailMessage
. Mer information finns i Platform Compatibility note DE0005.
Exempel
Exempel 1: Skicka ett e-postmeddelande från en person till en annan
Det här exemplet skickar ett e-postmeddelande från en person till en annan person.
Parametrarna Från, Till och Ämne krävs av Send-MailMessage
. I det här exemplet används standardvariabeln $PSEmailServer
för SMTP-servern, så parametern SmtpServer behövs inte.
$sendMailMessageSplat = @{
From = 'User01 <user01@fabrikam.com>'
To = 'User02 <user02@fabrikam.com>'
Subject = 'Test mail'
}
Send-MailMessage @sendMailMessageSplat
Cmdleten Send-MailMessage
använder parametern Från för att ange meddelandets avsändare. Parametern Till anger meddelandets mottagare. Parametern Subject använder textsträngen Test mail som meddelande eftersom den valfria body-parametern inte ingår.
Exempel 2: Skicka en bifogad fil
Det här exemplet skickar ett e-postmeddelande med en bifogad fil.
$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
Cmdleten Send-MailMessage
använder parametern Från för att ange meddelandets avsändare. Parametern Till anger meddelandets mottagare. Parametern Ämne beskriver innehållet i meddelandet. Brödtextparametern är innehållet i meddelandet.
Parametern Attachments anger filen i den aktuella katalogen som är kopplad till e-postmeddelandet. Parametern Priority anger meddelandet till High
prioritet. Parametern DeliveryNotificationOption anger två värden och OnSuccess
OnFailure
. Avsändaren får e-postaviseringar för att bekräfta att meddelandeleveransen lyckades eller misslyckades.
Parametern SmtpServer anger SMTP-servern till smtp.fabrikam.com
.
Exempel 3: Skicka e-post till en distributionslista
Det här exemplet skickar ett e-postmeddelande till en distributionslista.
$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
Cmdleten Send-MailMessage
använder parametern Från för att ange meddelandets avsändare. Parametern Till anger meddelandets mottagare. Parametern Kopia skickar en kopia av meddelandet till den angivna mottagaren. Parametern Hemlig kopia skickar en blind kopia av meddelandet. En blindkopia är en e-postadress som är dold för de andra mottagarna. Parametern Subject är meddelandet eftersom den valfria body-parametern inte ingår.
Parametern Credential anger att en domänadministratörs autentiseringsuppgifter används för att skicka meddelandet. Parametern UseSsl anger att SSL (Secure Socket Layer) skapar en säker anslutning.
Parametrar
-Attachments
Anger sökvägen och filnamnen för filer som ska bifogas till e-postmeddelandet. Du kan använda den här parametern eller skicka sökvägarna och filnamnen till Send-MailMessage
.
Type: | String[] |
Aliases: | PsPath |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Bcc
Anger de e-postadresser som tar emot en kopia av e-postmeddelandet men som inte visas som mottagare av meddelandet. Ange namn (valfritt) och e-postadressen, till exempel Name <someone@fabrikam.com>
.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Body
Anger innehållet i e-postmeddelandet.
Type: | String |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-BodyAsHtml
Anger att värdet för parametern Body innehåller HTML.
Type: | SwitchParameter |
Aliases: | BAH |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Cc
Anger de e-postadresser som en kopia av e-postmeddelandet skickas till. Ange namn (valfritt) och e-postadressen, till exempel Name <someone@fabrikam.com>
.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Credential
Anger ett användarkonto som har behörighet att utföra den här åtgärden. Standard är den aktuella användaren.
Ange ett användarnamn, till exempel User01 eller Domain01\User01. Eller ange ett PSCredential-objekt , till exempel ett från cmdleten Get-Credential
.
Autentiseringsuppgifter lagras i ett PSCredential-objekt och lösenordet lagras som en SecureString.
Anteckning
Mer information om SecureString-dataskydd finns i Hur säkert är SecureString?.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-DeliveryNotificationOption
Anger leveransaviseringsalternativen för e-postmeddelandet. Du kan ange flera värden. Ingen är standardvärdet. Aliaset för den här parametern är DNO.
Leveransmeddelandena skickas till adressen i parametern Från .
Godkända värden för den här parametern är följande:
None
: Inget meddelande.OnSuccess
: Meddela om leveransen lyckas.OnFailure
: Meddela om leveransen misslyckas.Delay
: Meddela om leveransen är försenad.Never
: Meddela aldrig.
Dessa värden definieras som en flaggbaserad uppräkning. Du kan kombinera flera värden för att ange flera flaggor med hjälp av den här parametern. Värdena kan skickas till parametern DeliveryNotification som en matris med värden eller som en kommaavgränsad sträng med dessa värden. Cmdleten kombinerar värdena med hjälp av en binär-OR-åtgärd. Att skicka värden som en matris är det enklaste alternativet och du kan också använda tabbifyllning för värdena.
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
Anger typ av kodning för målfilen. Standardvärdet är utf8NoBOM
.
Godkända värden för den här parametern är följande:
ascii
: Använder kodningen för ASCII-teckenuppsättningen (7-bitars).bigendianunicode
: Kodar i UTF-16-format med hjälp av den stora byteordningen.bigendianutf32
: Kodar i UTF-32-format med hjälp av den stora byteordningen.oem
: Använder standardkodning för MS-DOS och konsolprogram.unicode
: Kodar i UTF-16-format med den little-endianska byteordningen.utf7
: Kodar i UTF-7-format.utf8
: Kodar i UTF-8-format.utf8BOM
: Kodar i UTF-8-format med BOM (Byte Order Mark)utf8NoBOM
: Kodar i UTF-8-format utan bom (Byte Order Mark)utf32
: Kodar i UTF-32-format.
Från och med PowerShell 6.2 tillåter kodningsparametern även numeriska ID:er för registrerade kodsidor (till exempel -Encoding 1251
) eller strängnamn för registrerade kodsidor (till exempel -Encoding "windows-1251"
). Mer information finns i .NET-dokumentationen för Encoding.CodePage.
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
Parametern Från krävs. Den här parametern anger avsändarens e-postadress. Ange ett namn (valfritt) och en e-postadress, till exempel Name <someone@fabrikam.com>
.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Port
Anger en alternativ port på SMTP-servern. Standardvärdet är 25, vilket är smtp-standardporten.
Type: | Int32 |
Position: | Named |
Default value: | 25 |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Priority
Anger prioriteten för e-postmeddelandet. Normalt är standardvärdet. De godtagbara värdena för den här parametern är Normal, Hög och Låg.
Type: | MailPriority |
Accepted values: | Normal, High, Low |
Position: | Named |
Default value: | Normal |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ReplyTo
Anger ytterligare e-postadresser (förutom Från-adressen) som ska användas för att svara på det här meddelandet.
Ange namn (valfritt) och e-postadressen, till exempel Name <someone@fabrikam.com>
.
Den här parametern introducerades i PowerShell 6.2.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SmtpServer
Anger namnet på SMTP-servern som skickar e-postmeddelandet.
Standardvärdet är värdet för inställningsvariabeln $PSEmailServer
. Om inställningsvariabeln inte har angetts och den här parametern inte används misslyckas Send-MailMessage
kommandot.
Type: | String |
Aliases: | ComputerName |
Position: | 3 |
Default value: | $PSEmailServer |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Subject
Parametern Subject krävs inte. Den här parametern anger ämnet för e-postmeddelandet.
Type: | String |
Aliases: | sub |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-To
Parametern Till krävs. Den här parametern anger mottagarens e-postadress. Ange namn (valfritt) och e-postadressen, till exempel Name <someone@fabrikam.com>
.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-UseSsl
SSL-protokollet (Secure Sockets Layer) används för att upprätta en säker anslutning till fjärrdatorn för att skicka e-post. Som standard används inte SSL.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Indata
Du kan skicka sökvägen och filnamnen för bifogade filer till den här cmdleten.
Utdata
None
Denna cmdlet returnerar inga utdata.
Kommentarer
Cmdleten Send-MailMessage
är föråldrad. Mer information finns i Platform Compatibility note DE0005. Den här cmdleten garanterar inte säkra anslutningar till SMTP-servrar.
DE0005 föreslår att du använder bibliotek från tredje part, MailKit. Om du använder Exchange Online kan du använda Send-MgUserMail från Microsoft Graph PowerShell SDK.