Dela via


Send-MailMessage

Skickar ett e-postmeddelande.

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

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

Du måste ange en SMTP-server (Simple Mail Transfer Protocol) eller så Send-MailMessage misslyckas kommandot. Använd parametern SmtpServer eller ange variabeln $PSEmailServer till en giltig SMTP-server. Värdet som tilldelats $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 Plattformskompatibilitetsanteckning 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å smtpServer-parametern 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 brödtextparametern 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 Prioritet 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 Hemlig kopia skickar en blind kopia av meddelandet. En blindkopia är en e-postadress som är dold för de andra mottagarna. Ämnesparametern är meddelandet eftersom den valfria brödtextparametern 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ägarna och filnamnen till Send-MailMessage.

Typ:String[]
Aliases:PsPath
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:True
Accept wildcard characters: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>.

Typ:String[]
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-Body

Anger innehållet i e-postmeddelandet.

Typ:String
Position:2
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-BodyAsHtml

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

Typ:SwitchParameter
Aliases:BAH
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
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>.

Typ:String[]
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
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.

Kommentar

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

Typ:PSCredential
Position:Named
standardvärde:Current user
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters: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 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 av 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.

Typ:DeliveryNotificationOptions
Aliases:DNO
accepterade värden:None, OnSuccess, OnFailure, Delay, Never
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-Encoding

Anger typen av kodning för målfilen. Standardvärdet är Default.

Godkända värden för den här parametern är följande:

  • ASCII Använder ASCII-teckenuppsättning (7-bitars).
  • BigEndianUnicode Använder UTF-16 med storslutsbyteordningen.
  • Default Använder den kodning som motsvarar systemets aktiva kodsida (vanligtvis ANSI).
  • OEM Använder den kodning som motsvarar systemets aktuella OEM-kodsida.
  • Unicode Använder UTF-16 med den lilla slutpunktsbyteordningen.
  • UTF7 Använder UTF-7.
  • UTF8 Använder UTF-8.
  • UTF32 Använder UTF-32 med den lilla slutpunktsbyteordningen.
Typ:Encoding
Aliases:BE
accepterade värden:ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32
Position:Named
standardvärde:Default
Obligatorisk:False
Accept pipeline input:False
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>.

Typ:String
Position:Named
standardvärde:None
Obligatorisk:True
Accept pipeline input:False
Accept wildcard characters:False

-Port

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

Typ:Int32
Position:Named
standardvärde:25
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters: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.

Typ:MailPriority
accepterade värden:Normal, High, Low
Position:Named
standardvärde:Normal
Obligatorisk:False
Accept pipeline input:False
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.

Typ:String
Aliases:ComputerName
Position:3
standardvärde:$PSEmailServer
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-Subject

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

Typ:String
Aliases:sub
Position:1
standardvärde:None
Obligatorisk:True
Accept pipeline input:False
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>.

Typ:String[]
Position:0
standardvärde:None
Obligatorisk:True
Accept pipeline input:False
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.

Typ:SwitchParameter
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

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 Plattformskompatibilitetsanteckning 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.