Send-MailMessage
Hiermee wordt een e-mailbericht verzonden.
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
De Send-MailMessage
cmdlet verzendt een e-mailbericht vanuit PowerShell.
U moet een SMTP-server (Simple Mail Transfer Protocol) opgeven, anders mislukt de Send-MailMessage
opdracht. Gebruik de parameter SmtpServer of stel de $PSEmailServer
variabele in op een geldige SMTP-server.
De waarde die is toegewezen aan $PSEmailServer
is de standaard SMTP-instelling voor PowerShell. Zie about_Preference_Variables voor 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 niet te gebruiken Send-MailMessage
. Zie Voor meer informatie Platformcompatibiliteit opmerking DE0005.
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 parameters Van, Tot en 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 Send-MailMessage
cmdlet gebruikt de parameter From om de afzender van het bericht op te geven. Met de parameter Aan wordt de geadresseerde van het bericht opgegeven. De parameter Onderwerp gebruikt de tekenreeks Test-e-mail als het bericht omdat de optionele parameter Body 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 Send-MailMessage
cmdlet gebruikt de parameter From om de afzender van het bericht op te geven. Met de parameter Aan worden de geadresseerden van het bericht opgegeven. De parameter Onderwerp beschrijft de inhoud van het bericht. De parameter Body is de inhoud van het bericht.
Met de parameter Bijlagen geeft u het bestand op in de huidige map dat aan het e-mailbericht is gekoppeld. Met de parameter Priority wordt het bericht ingesteld 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 bezorging van het bericht te bevestigen.
Met de parameter SmtpServer wordt de SMTP-server ingesteld 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 Send-MailMessage
cmdlet gebruikt de parameter From om de afzender van het bericht op te geven. Met de parameter Aan worden de geadresseerden van het bericht opgegeven. De parameter CC verzendt een kopie van het bericht naar de opgegeven geadresseerde. Met de parameter BCC wordt een blinde kopie van het bericht verzonden. Een blinde kopie is een e-mailadres dat verborgen is voor de andere geadresseerden. De parameter Onderwerp is het bericht omdat de optionele hoofdtekstparameter niet is opgenomen.
De referentieparameter geeft aan dat de referenties van een domeinbeheerder worden gebruikt om het bericht te verzenden. De useSsl parameter geeft aan dat Secure Socket Layer (SSL) een beveiligde verbinding maakt.
Parameters
-Attachments
Hiermee geeft u het pad en de bestandsnamen op van bestanden die aan het e-mailbericht moeten worden toegevoegd. U kunt deze parameter gebruiken of de paden en bestandsnamen doorsnijden naar Send-MailMessage
.
Type: | String[] |
Aliases: | PsPath |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Bcc
Hiermee geeft u de e-mailadressen op die een kopie van het e-mailbericht ontvangen, maar niet worden weergegeven als geadresseerden van het bericht. Voer namen (optioneel) en het e-mailadres in, zoals Name <someone@fabrikam.com>
.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Body
Hiermee geeft u de inhoud van het e-mailbericht op.
Type: | String |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-BodyAsHtml
Hiermee geeft u op dat de waarde van de parameter Body HTML bevat.
Type: | SwitchParameter |
Aliases: | BAH |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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>
.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Credential
Hiermee geeft u een gebruikersaccount op dat gemachtigd is om deze actie uit te voeren. Standaard is dit de huidige gebruiker.
Typ een gebruikersnaam, zoals Gebruiker01 of Domein01\Gebruiker01. Of voer een PSCredential-object in, zoals een object van de Get-Credential
cmdlet.
Referenties worden opgeslagen in een PSCredential-object en het wachtwoord wordt opgeslagen als een SecureString.
Notitie
Zie Hoe veilig is SecureString? voor meer informatie over SecureString-gegevensbeveiliging.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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
: Waarschuwen als de bezorging is geslaagd.OnFailure
: Waarschuwen als de levering mislukt.Delay
: Waarschuwen als de levering is vertraagd.Never
: Nooit waarschuwen.
Deze waarden worden gedefinieerd als een opsomming op basis van een vlag. 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 van waarden of als een door komma's gescheiden tekenreeks van deze waarden. De cmdlet combineert de waarden met behulp van een binaire-OR-bewerking. Het doorgeven van waarden als een matrix is de eenvoudigste optie en stelt u ook in staat om tab-voltooiing te gebruiken voor de waarden.
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
Hiermee geeft u het type codering voor het doelbestand. De standaardwaarde is utf8NoBOM
.
De acceptabele waarden voor deze parameter zijn als volgt:
ascii
: Gebruikt de codering voor de ASCII-tekenset (7-bits).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
: Gebruikt de standaardcodering voor MS-DOS en consoleprogramma's.unicode
: Codeert in UTF-16-indeling met behulp van de bytevolgorde little-endian.utf7
: Codeert in UTF-7-indeling.utf8
: Codeert in UTF-8-indeling.utf8BOM
: Codeert in UTF-8-indeling 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 coderingsparameter 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.CodePage voor meer informatie.
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
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>
.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Port
Hiermee geeft u een alternatieve poort op de SMTP-server. De standaardwaarde is 25, de standaard SMTP-poort.
Type: | Int32 |
Position: | Named |
Default value: | 25 |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Priority
Hiermee geeft u de prioriteit van het e-mailbericht op. Normaal is de standaardwaarde. De acceptabele waarden voor deze parameter zijn Normaal, Hoog en Laag.
Type: | MailPriority |
Accepted values: | Normal, High, Low |
Position: | Named |
Default value: | Normal |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ReplyTo
Hiermee geeft u extra e-mailadressen (anders dan het Van-adres) die moeten 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.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SmtpServer
Hiermee geeft u de naam 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 Send-MailMessage
opdracht.
Type: | String |
Aliases: | ComputerName |
Position: | 3 |
Default value: | $PSEmailServer |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Subject
De parameter Onderwerp is niet vereist. Met deze parameter wordt het onderwerp van het e-mailbericht opgegeven.
Type: | String |
Aliases: | sub |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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>
.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Invoerwaarden
U kunt het pad en de bestandsnamen van bijlagen doorsluizen naar deze cmdlet.
Uitvoerwaarden
None
Deze cmdlet retourneert geen uitvoer.
Notities
De cmdlet Send-MailMessage
is verouderd. Zie Voor meer informatie Platformcompatibiliteit opmerking DE0005. Deze cmdlet garandeert geen beveiligde verbindingen met SMTP-servers.
DE0005 stelt voor gebruik te maken van de bibliotheek van derden, MailKit. Als u Exchange Online gebruikt, kunt u send-MgUserMail van de Microsoft Graph PowerShell SDK gebruiken.