Delen via


Send-MailMessage

Hiermee wordt een e-mailbericht verzonden.

Syntaxis

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

De Send-MailMessage-cmdlet verzendt een e-mailbericht vanuit PowerShell.

U moet een SMTP-server (Simple Mail Transfer Protocol) opgeven of de opdracht Send-MailMessage mislukt. Gebruik de parameter SmtpServer of stel de variabele $PSEmailServer in op een geldige SMTP-server. De waarde die is toegewezen aan $PSEmailServer is de standaard-SMTP-instelling voor PowerShell. Zie about_Preference_Variablesvoor meer informatie.

Waarschuwing

De cmdlet Send-MailMessage is verouderd. Deze cmdlet garandeert geen beveiligde verbindingen met SMTP-servers. Hoewel er geen onmiddellijke vervanging beschikbaar is in PowerShell, raden we u aan Send-MailMessageniet te gebruiken. Zie Platformcompatibiliteitsnotitie DE0005voor meer informatie.

Voorbeelden

Voorbeeld 1: Een e-mailbericht van de ene persoon naar een andere persoon verzenden

In dit voorbeeld wordt een e-mailbericht van de ene persoon naar een andere persoon verzonden.

De Van, Toten parameters onderwerp zijn vereist voor Send-MailMessage. In dit voorbeeld wordt de standaardvariabele $PSEmailServer voor de SMTP-server gebruikt, zodat de parameter SmtpServer niet nodig is.

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

De cmdlet Send-MailMessage maakt gebruik van de parameter From om de afzender van het bericht op te geven. De parameter Aan geeft de geadresseerde van het bericht op. De parameter Onderwerp maakt gebruik van de tekenreeks E-mail testen als het bericht omdat de optionele parameter Hoofdtekst niet is opgenomen.

Voorbeeld 2: Een bijlage verzenden

In dit voorbeeld wordt een e-mailbericht met een bijlage verzonden.

$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

De cmdlet Send-MailMessage maakt gebruik van de parameter From om de afzender van het bericht op te geven. De parameter Aan geeft de geadresseerden van het bericht op. De parameter Onderwerp beschrijft de inhoud van het bericht. De parameter Hoofdtekst is de inhoud van het bericht.

De parameter Bijlagen geeft het bestand op in de huidige map die is gekoppeld aan het e-mailbericht. De parameter Priority stelt het bericht in op High prioriteit. De parameter DeliveryNotificationOption geeft twee waarden op, OnSuccess en OnFailure. De afzender ontvangt e-mailmeldingen om het slagen of mislukken van de berichtbezorging te bevestigen. De parameter SmtpServer stelt de SMTP-server in op smtp.fabrikam.com.

Voorbeeld 3: E-mail verzenden naar een adressenlijst

In dit voorbeeld wordt een e-mailbericht naar een adressenlijst verzonden.

$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

De cmdlet Send-MailMessage maakt gebruik van de parameter From om de afzender van het bericht op te geven. De parameter Aan geeft de geadresseerden van het bericht op. De parameter CC verzendt een kopie van het bericht naar de opgegeven geadresseerde. De parameter BCC verzendt een blinde kopie van het bericht. Een blinde kopie is een e-mailadres dat verborgen is voor de andere geadresseerden. De parameter Onderwerp is het bericht omdat de optionele parameter Hoofdtekst niet is opgenomen.

De parameter Credential geeft aan dat de referenties van een domeinbeheerder worden gebruikt om het bericht te verzenden. De parameter UseSsl geeft aan dat Ssl (Secure Socket Layer) een beveiligde verbinding maakt.

Parameters

-Attachments

Hiermee geeft u het pad en de bestandsnamen op van bestanden die moeten worden toegevoegd aan het e-mailbericht. U kunt deze parameter gebruiken of de paden en bestandsnamen doorsluisen om Send-MailMessage.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:PsPath

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Bcc

Hiermee geeft u de e-mailadressen op die een kopie van de e-mail ontvangen, maar die niet worden vermeld als geadresseerden van het bericht. Voer namen (optioneel) en het e-mailadres in, zoals Name <someone@fabrikam.com>.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Body

Hiermee geeft u de inhoud van het e-mailbericht.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:2
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-BodyAsHtml

Hiermee geeft u op dat de waarde van de parameter Body HTML bevat.

Parametereigenschappen

Type:SwitchParameter
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:BAH

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Cc

Hiermee geeft u de e-mailadressen op waarnaar een carbon copy (CC) van het e-mailbericht wordt verzonden. Voer namen (optioneel) en het e-mailadres in, zoals Name <someone@fabrikam.com>.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Credential

Hiermee geeft u een gebruikersaccount op dat gemachtigd is om deze actie uit te voeren. De standaardwaarde is de huidige gebruiker.

Typ een gebruikersnaam, zoals User01 of Domain01\User01. U kunt ook een PSCredential--object invoeren, zoals een object uit de Get-Credential-cmdlet.

Referenties worden opgeslagen in een PSCredential-object en het wachtwoord wordt opgeslagen als een SecureString.

Opmerking

Zie voor meer informatie over SecureString gegevensbeveiliging Hoe veilig is SecureString?.

Parametereigenschappen

Type:PSCredential
Default value:Current user
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-DeliveryNotificationOption

Hiermee geeft u de opties voor bezorgingsmeldingen voor het e-mailbericht op. U kunt meerdere waarden opgeven. Geen is de standaardwaarde. De alias voor deze parameter is DNO-.

De bezorgingsmeldingen worden verzonden naar het adres in de parameter Van.

De acceptabele waarden voor deze parameter zijn als volgt:

  • None: geen melding.
  • OnSuccess: Melden of de levering is geslaagd.
  • OnFailure: Melden of de levering mislukt.
  • Delay: Melden of de levering is vertraagd.
  • Never: Nooit melden.

Deze waarden worden gedefinieerd als een opsomming op basis van vlaggen. U kunt meerdere waarden combineren om meerdere vlaggen in te stellen met behulp van deze parameter. De waarden kunnen worden doorgegeven aan de parameter DeliveryNotification als een matrix met waarden of als een door komma's gescheiden tekenreeks van deze waarden. De cmdlet combineert de waarden met behulp van een binaire OF-bewerking. Het doorgeven van waarden als een matrix is de eenvoudigste optie en u kunt ook tabvoltooiing gebruiken voor de waarden.

Parametereigenschappen

Type:DeliveryNotificationOptions
Default value:None
Geaccepteerde waarden:None, OnSuccess, OnFailure, Delay, Never
Ondersteunt jokertekens:False
DontShow:False
Aliassen:DNO

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Encoding

Hiermee geeft u het type codering voor het doelbestand. De standaardwaarde is utf8NoBOM.

De acceptabele waarden voor deze parameter zijn als volgt:

  • ascii: maakt gebruik van de codering voor de ASCII-tekenset (7-bits).
  • ansi: gebruikt de codering voor de ANSI-codepagina van de huidige cultuur. Deze optie is toegevoegd in PowerShell 7.4.
  • bigendianunicode: Codeert in UTF-16-indeling met behulp van de bytevolgorde big-endian.
  • bigendianutf32: Codeert in UTF-32-indeling met behulp van de bytevolgorde big-endian.
  • oem: maakt gebruik van de standaardcodering voor MS-DOS- en consoleprogramma's.
  • unicode: Encodeert in UTF-16-indeling met de little-endian-bytevolgorde.
  • utf7: Codeert in UTF-7-formaat.
  • utf8: Codeert in de UTF-8-indeling.
  • utf8BOM: Codeert in UTF-8-formaat met Byte Order Mark (BOM)
  • utf8NoBOM: Codeert in UTF-8-indeling zonder Byte Order Mark (BOM)
  • utf32: Codeert in UTF-32-indeling.

Vanaf PowerShell 6.2 staat de parameter Coderings- ook numerieke id's toe van geregistreerde codepagina's (zoals -Encoding 1251) of tekenreeksnamen van geregistreerde codepagina's (zoals -Encoding "windows-1251"). Zie de .NET-documentatie voor Encoding.CodePagevoor meer informatie.

Vanaf PowerShell 7.4 kunt u de Ansi waarde voor de -coderingsparameter gebruiken om de numerieke id voor de ANSI-codepagina van de huidige cultuur door te geven zonder deze handmatig op te geven.

Opmerking

UTF-7* wordt niet meer aanbevolen om te gebruiken. Vanaf PowerShell 7.1 wordt een waarschuwing geschreven als u utf7 opgeeft voor de parameter codering.

Parametereigenschappen

Type:Encoding
Default value:ASCII
Geaccepteerde waarden:ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32
Ondersteunt jokertekens:False
DontShow:False
Aliassen:BELGIË

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-From

De parameter From is vereist. Met deze parameter geeft u het e-mailadres van de afzender op. Voer een naam (optioneel) en e-mailadres in, zoals Name <someone@fabrikam.com>.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Port

Hiermee geeft u een alternatieve poort op de SMTP-server. De standaardwaarde is 25, de standaard SMTP-poort.

Parametereigenschappen

Type:Int32
Default value:25
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Priority

Hiermee geeft u de prioriteit van het e-mailbericht. Normaal is de standaardwaarde. De acceptabele waarden voor deze parameter zijn Normaal, Hoog en Laag.

Parametereigenschappen

Type:MailPriority
Default value:Normal
Geaccepteerde waarden:Normal, High, Low
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-ReplyTo

Hiermee geeft u extra e-mailadressen op (behalve het Van-adres) dat moet worden gebruikt om dit bericht te beantwoorden. Voer namen (optioneel) en het e-mailadres in, zoals Name <someone@fabrikam.com>.

Deze parameter is geïntroduceerd in PowerShell 6.2.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-SmtpServer

Hiermee geeft u de naam op van de SMTP-server die het e-mailbericht verzendt.

De standaardwaarde is de waarde van de $PSEmailServer voorkeursvariabele. Als de voorkeursvariabele niet is ingesteld en deze parameter niet wordt gebruikt, mislukt de opdracht Send-MailMessage.

Parametereigenschappen

Type:String
Default value:$PSEmailServer
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Computernaam

Parametersets

(All)
Position:3
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Subject

De parameter Onderwerp is niet vereist. Met deze parameter wordt het onderwerp van het e-mailbericht opgegeven.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:ondertiteling

Parametersets

(All)
Position:1
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-To

De parameter Aan is vereist. Met deze parameter geeft u het e-mailadres van de geadresseerde op. Voer namen (optioneel) en het e-mailadres in, zoals Name <someone@fabrikam.com>.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-UseSsl

Het SSL-protocol (Secure Sockets Layer) wordt gebruikt om een beveiligde verbinding tot stand te brengen met de externe computer om e-mail te verzenden. SSL wordt standaard niet gebruikt.

Parametereigenschappen

Type:SwitchParameter
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

CommonParameters

Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.

Invoerwaarden

String

U kunt het pad en de bestandsnamen van bijlagen naar deze cmdlet doorsluisen.

Uitvoerwaarden

None

Deze cmdlet retourneert geen uitvoer.

Notities

De cmdlet Send-MailMessage is verouderd. Zie Platformcompatibiliteitsnotitie DE0005voor meer informatie. Deze cmdlet garandeert geen beveiligde verbindingen met SMTP-servers.

DE0005 suggesties voor het gebruik van de bibliotheek van derden, MailKit. Als u Exchange Online gebruikt, kunt u de Send-MgUserMail- van de Microsoft Graph PowerShell SDK gebruiken.