Dela via


Send-MailMessage

Skickar ett e-postmeddelande.

Syntax

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

Cmdleten Send-MailMessage skickar ett e-postmeddelande inifrån PowerShell.

Du måste ange en SMTP-server (Simple Mail Transfer Protocol) eller så misslyckas kommandot Send-MailMessage. Använd parametern SmtpServer eller ange variabeln $PSEmailServer till en giltig SMTP-server. Värdet som tilldelas $PSEmailServer är 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. Det finns ingen omedelbar ersättning i PowerShell, men vi rekommenderar 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 From, Tooch Subject 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 parametern Body 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 Subject beskriver innehållet i meddelandet. Parametern Body ä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, OnSuccess och 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 e-postlista

Det här exemplet skickar ett e-postmeddelande till en e-postlista.

$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 Cc skickar en kopia av meddelandet till den angivna mottagaren. Parametern Bcc skickar en blindkopia av meddelandet. En blindkopia är en e-postadress som är dold för de andra mottagarna. Parametern Subject är meddelandet eftersom den valfria parametern Body 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 kopplas till e-postmeddelandet. Du kan använda den här parametern eller skicka sökvägar och filnamn till att Send-MailMessage.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:PsPath

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-Bcc

Anger de e-postadresser som tar emot en kopia av e-postmeddelandet men inte visas som mottagare av meddelandet. Ange namn (valfritt) och e-postadressen, till exempel Name <someone@fabrikam.com>.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-Body

Anger innehållet i e-postmeddelandet.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:2
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-BodyAsHtml

Anger att värdet för parametern Body innehåller HTML.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:ÄH

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument: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>.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-Credential

Anger ett användarkonto som har behörighet att utföra den här åtgärden. Standardvärdet ä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 Get-Credential-cmdleten.

Autentiseringsuppgifter lagras i ett PSCredential--objekt och lösenordet lagras som en SecureString-.

Anmärkning

Mer information om SecureString dataskydd finns i Hur säker är SecureString?.

Parameteregenskaper

Typ:PSCredential
Standardvärde:Current user
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-DeliveryNotificationOption

Anger leveransmeddelandealternativen 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 From.

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 även använda tab-completion på värdena.

Parameteregenskaper

Typ:DeliveryNotificationOptions
Standardvärde:None
Godkända värden:None, OnSuccess, OnFailure, Delay, Never
Stöder jokertecken:False
DontShow:False
Alias:DNO

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-Encoding

Anger typen 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).
  • ansi: Använder kodningen för den aktuella kulturens ANSI-kodsida. Det här alternativet lades till i PowerShell 7.4.
  • bigendianunicode: Kodar i UTF-16-format med hjälp av storstavelseordningen.
  • bigendianutf32: Kodar i UTF-32-format med big-endian-byteordning.
  • oem: Använder standardkodning för MS-DOS- och konsolprogram.
  • unicode: Kodar i UTF-16-format med hjälp av lite endiansk byteordning.
  • utf7: Kodar i UTF-7-format.
  • utf8: Kodar i UTF-8-format.
  • utf8BOM: Kodar i UTF-8-format med Byte Order Mark (BOM)
  • utf8NoBOM: Kodar i UTF-8-format utan Byte Order Mark (BOM)
  • utf32: Kodar i UTF-32-format.

Från och med PowerShell 6.2 tillåter parametern Kodning även numeriska ID:n 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.

Från och med PowerShell 7.4 kan du använda värdet Ansi för parametern Kodning för att skicka det numeriska ID:t för den aktuella kulturens ANSI-kodsida utan att behöva ange det manuellt.

Anmärkning

UTF-7* rekommenderas inte längre att användas. Från och med PowerShell 7.1 skrivs en varning om du anger utf7 för parametern Kodning.

Parameteregenskaper

Typ:Encoding
Standardvärde:ASCII
Godkända värden:ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32
Stöder jokertecken:False
DontShow:False
Alias:BE

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument: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>.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-Port

Anger en alternativ port på SMTP-servern. Standardvärdet är 25, vilket är smtp-standardporten.

Parameteregenskaper

Typ:Int32
Standardvärde:25
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-Priority

Anger prioriteten för e-postmeddelandet. Normal är standardvärdet. De acceptabla värdena för den här parametern är Normal, Hög och Låg.

Parameteregenskaper

Typ:MailPriority
Standardvärde:Normal
Godkända värden:Normal, High, Low
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument: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.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-SmtpServer

Anger namnet på SMTP-servern som skickar e-postmeddelandet.

Standardvärdet är värdet för $PSEmailServer-inställningsvariabeln. Om inställningsvariabeln inte har angetts och den här parametern inte används misslyckas kommandot Send-MailMessage.

Parameteregenskaper

Typ:String
Standardvärde:$PSEmailServer
Stöder jokertecken:False
DontShow:False
Alias:Datornamn

Parameteruppsättningar

(All)
Position:3
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-Subject

Parametern Subject krävs inte. Den här parametern anger ämnet för e-postmeddelandet.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:Underkategori

Parameteruppsättningar

(All)
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument: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>.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument: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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

Indata

String

Du kan skicka sökvägen och filnamnen för bifogade filer till den här cmdleten.

Utdata

None

Den här cmdleten 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 biblioteket från tredje part MailKit. Om du använder Exchange Online kan du använda Send-MgUserMail- från Microsoft Graph PowerShell SDK.