Send-MailMessage
Sendet eine E-Mail-Nachricht.
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>]
Beschreibung
Das Cmdlet Send-MailMessage sendet eine E-Mail-Nachricht aus PowerShell.
Sie müssen einen SMTP-Server (Simple Mail Transfer Protocol) angeben, oder der Befehl Send-MailMessage schlägt fehl. Verwenden Sie den SmtpServer Parameter, oder legen Sie die $PSEmailServer Variable auf einen gültigen SMTP-Server fest.
Der wert, der $PSEmailServer zugewiesen ist, ist die Standard-SMTP-Einstellung für PowerShell. Weitere Informationen finden Sie unter about_Preference_Variables.
Warnung
Das Cmdlet Send-MailMessage ist veraltet. Dieses Cmdlet garantiert keine sicheren Verbindungen mit SMTP-Servern. Es ist zwar kein sofortiger Ersatz in PowerShell verfügbar, es wird jedoch empfohlen, Send-MailMessagenicht zu verwenden. Weitere Informationen finden Sie unter Plattformkompatibilitätshinweis DE0005.
Beispiele
Beispiel 1: Senden einer E-Mail von einer Person an eine andere Person
In diesem Beispiel wird eine E-Mail-Nachricht von einer Person an eine andere Person gesendet.
Die Parameter From, Tound Subject Parameter sind von Send-MailMessageerforderlich. In diesem Beispiel wird die Standardvariable $PSEmailServer für den SMTP-Server verwendet, sodass der parameter SmtpServer nicht benötigt wird.
$sendMailMessageSplat = @{
From = 'User01 <user01@fabrikam.com>'
To = 'User02 <user02@fabrikam.com>'
Subject = 'Test mail'
}
Send-MailMessage @sendMailMessageSplat
Das Cmdlet Send-MailMessage verwendet den Parameter From, um den Absender der Nachricht anzugeben. Der Parameter To gibt den Empfänger der Nachricht an. Der parameter Subject verwendet die Textzeichenfolge Test mail als Nachricht, da der optionale Body Parameter nicht enthalten ist.
Beispiel 2: Senden einer Anlage
In diesem Beispiel wird eine E-Mail-Nachricht mit einer Anlage gesendet.
$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
Das Cmdlet Send-MailMessage verwendet den Parameter From, um den Absender der Nachricht anzugeben. Der Parameter To gibt die Empfänger der Nachricht an. Der Parameter Subject beschreibt den Inhalt der Nachricht. Der parameter Body ist der Inhalt der Nachricht.
Der parameter Attachments gibt die Datei im aktuellen Verzeichnis an, das an die E-Mail-Nachricht angefügt ist. Der Parameter Priority legt die Nachricht auf High Priorität fest. Der parameter DeliveryNotificationOption gibt zwei Werte an, OnSuccess und OnFailure. Der Absender erhält E-Mail-Benachrichtigungen, um den Erfolg oder Fehler der Nachrichtenübermittlung zu bestätigen.
Der parameter SmtpServer legt den SMTP-Server auf smtp.fabrikam.comfest.
Beispiel 3: Senden von E-Mails an eine Adressenliste
In diesem Beispiel wird eine E-Mail-Nachricht an eine Adressenliste gesendet.
$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
Das Cmdlet Send-MailMessage verwendet den Parameter From, um den Absender der Nachricht anzugeben. Der Parameter To gibt die Empfänger der Nachricht an. Der parameter Cc sendet eine Kopie der Nachricht an den angegebenen Empfänger. Der Bcc Parameter sendet eine Blindkopie der Nachricht. Eine Blindkopie ist eine E-Mail-Adresse, die von den anderen Empfängern ausgeblendet ist. Der parameter Subject ist die Meldung, da der optionale Body Parameter nicht enthalten ist.
Der Parameter Anmeldeinformationen gibt an, dass die Anmeldeinformationen eines Domänenadministrators zum Senden der Nachricht verwendet werden. Der parameter UseSsl gibt an, dass Secure Socket Layer (SSL) eine sichere Verbindung erstellt.
Parameter
-Attachments
Gibt den Pfad und Dateinamen von Dateien an, die an die E-Mail-Nachricht angefügt werden sollen. Sie können diesen Parameter verwenden oder die Pfade und Dateinamen an Send-MailMessageübergeben.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | PsPath |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Bcc
Gibt die E-Mail-Adressen an, die eine Kopie der E-Mail erhalten, aber nicht als Empfänger der Nachricht aufgeführt sind. Geben Sie Namen (optional) und die E-Mail-Adresse ein, z. B. Name <someone@fabrikam.com>.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Body
Gibt den Inhalt der E-Mail-Nachricht an.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | 2 |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-BodyAsHtml
Gibt an, dass der Wert des Body--Parameters HTML enthält.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | BAH |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Cc
Gibt die E-Mail-Adressen an, an die eine Kopie (CC) der E-Mail-Nachricht gesendet wird. Geben Sie Namen (optional) und die E-Mail-Adresse ein, z. B. Name <someone@fabrikam.com>.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Credential
Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Die Standardeinstellung ist der aktuelle Benutzer.
Geben Sie einen Benutzernamen ein, z. B. User01 oder Domäne01\User01. Oder geben Sie ein PSCredential--Objekt ein, z. B. ein Objekt aus dem Cmdlet Get-Credential.
Anmeldeinformationen werden in einem PSCredential-Objekt gespeichert, und das Kennwort wird als SecureString-gespeichert.
Hinweis
Weitere Informationen zu SecureString Datenschutz finden Sie unter Wie sicher ist SecureString?.
Parametereigenschaften
| Typ: | PSCredential |
| Standardwert: | Current user |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-DeliveryNotificationOption
Gibt die Zustellungsbenachrichtigungsoptionen für die E-Mail-Nachricht an. Sie können mehrere Werte angeben. Keine ist der Standardwert. Der Alias für diesen Parameter ist DNO-.
Die Zustellungsbenachrichtigungen werden an die Adresse im Parameter From gesendet.
Die zulässigen Werte für diesen Parameter sind wie folgt:
-
None: Keine Benachrichtigung. -
OnSuccess: Benachrichtigen Sie, ob die Übermittlung erfolgreich ist. -
OnFailure: Benachrichtigen, wenn die Übermittlung nicht erfolgreich ist. -
Delay: Benachrichtigen, wenn die Zustellung verzögert wird. -
Never: Nie benachrichtigen.
Diese Werte werden als auf Flaggen basierende Enumeration definiert. Sie können mehrere Werte kombinieren, um mehrere Flags mithilfe dieses Parameters festzulegen. Die Werte können an den DeliveryNotification Parameter als Array von Werten oder als kommagetrennte Zeichenfolge dieser Werte übergeben werden. Das Cmdlet kombiniert die Werte mithilfe eines Binary-OR-Vorgangs. Das Übergeben von Werten als Array ist die einfachste Option und ermöglicht Ihnen auch die Verwendung der Tab-Vervollständigung für die Werte.
Parametereigenschaften
| Typ: | DeliveryNotificationOptions |
| Standardwert: | None |
| Zulässige Werte: | None, OnSuccess, OnFailure, Delay, Never |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | DNO |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Encoding
Gibt den Typ der Codierung für die Zieldatei an. Der Standardwert ist utf8NoBOM.
Die zulässigen Werte für diesen Parameter sind wie folgt:
-
ascii: Verwendet die Codierung für den ASCII-Zeichensatz (7-Bit). -
ansi: Verwendet die Kodierung für die ANSI-Codepage der aktuellen Kultur. Diese Option wurde in PowerShell 7.4 hinzugefügt. -
bigendianunicode: Codiert im UTF-16-Format mithilfe der Big-Endian-Byte-Reihenfolge. -
bigendianutf32: Codiert im UTF-32-Format unter Verwendung der Big-Endian-Byte-Reihenfolge. -
oem: Verwendet die Standardcodierung für MS-DOS- und Konsolenprogramme. -
unicode: Codiert im UTF-16-Format unter Verwendung der "little-endian"-Bytereihenfolge. -
utf7: Codiert im UTF-7-Format. -
utf8: Codiert im UTF-8-Format. -
utf8BOM: Codiert im UTF-8-Format mit Byte Order Mark (BOM) -
utf8NoBOM: Codiert im UTF-8-Format ohne Byte Order Mark (BOM) -
utf32: Codiert im UTF-32-Format.
Ab PowerShell 6.2 ermöglicht der parameter Encoding auch numerische IDs registrierter Codeseiten (z. B. -Encoding 1251) oder Zeichenfolgennamen registrierter Codeseiten (z. B. -Encoding "windows-1251"). Weitere Informationen finden Sie in der .NET-Dokumentation für Encoding.CodePage-.
Ab PowerShell 7.4 können Sie den Ansi Wert für den parameter Encoding verwenden, um die numerische ID für die ANSI-Codeseite der aktuellen Kultur zu übergeben, ohne sie manuell angeben zu müssen.
Hinweis
Die Verwendung von UTF-7* wird nicht mehr empfohlen. Ab PowerShell 7.1 wird eine Warnung geschrieben, wenn Sie utf7 für den parameter Encoding angeben.
Parametereigenschaften
| Typ: | Encoding |
| Standardwert: | ASCII |
| Zulässige Werte: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | SEIN |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-From
Der parameter From ist erforderlich. Dieser Parameter gibt die E-Mail-Adresse des Absenders an. Geben Sie einen Namen (optional) und eine E-Mail-Adresse ein, z. B. Name <someone@fabrikam.com>.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Port
Gibt einen alternativen Port auf dem SMTP-Server an. Der Standardwert ist 25, bei dem es sich um den standardmäßigen SMTP-Port handelt.
Parametereigenschaften
| Typ: | Int32 |
| Standardwert: | 25 |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Priority
Gibt die Priorität der E-Mail-Nachricht an. Normal ist die Standardeinstellung. Die zulässigen Werte für diesen Parameter sind "Normal", "Hoch" und "Niedrig".
Parametereigenschaften
| Typ: | MailPriority |
| Standardwert: | Normal |
| Zulässige Werte: | Normal, High, Low |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-ReplyTo
Gibt weitere E-Mail-Adressen (außer der Absenderadresse) an, die zum Beantworten dieser Nachricht verwendet werden sollen.
Geben Sie Namen (optional) und die E-Mail-Adresse ein, z. B. Name <someone@fabrikam.com>.
Dieser Parameter wurde in PowerShell 6.2 eingeführt.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-SmtpServer
Gibt den Namen des SMTP-Servers an, der die E-Mail-Nachricht sendet.
Der Standardwert ist der Wert der $PSEmailServer Einstellungsvariable. Wenn die Einstellungsvariable nicht festgelegt ist und dieser Parameter nicht verwendet wird, schlägt der Befehl Send-MailMessage fehl.
Parametereigenschaften
| Typ: | String |
| Standardwert: | $PSEmailServer |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | ComputerName |
Parametersätze
(All)
| Position: | 3 |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Subject
Der parameter Subject ist nicht erforderlich. Dieser Parameter gibt den Betreff der E-Mail-Nachricht an.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | sub |
Parametersätze
(All)
| Position: | 1 |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-To
Der parameter To ist erforderlich. Dieser Parameter gibt die E-Mail-Adresse des Empfängers an. Geben Sie Namen (optional) und die E-Mail-Adresse ein, z. B. Name <someone@fabrikam.com>.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | 0 |
| Obligatorisch.: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-UseSsl
Das SSL-Protokoll (Secure Sockets Layer) wird verwendet, um eine sichere Verbindung mit dem Remotecomputer herzustellen, um E-Mails zu senden. Standardmäßig wird SSL nicht verwendet.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Eingaben
String
Sie können den Pfad und dateinamen von Anlagen an dieses Cmdlet weiterleiten.
Ausgaben
None
Dieses Cmdlet gibt keine Ausgabe zurück.
Hinweise
Das Cmdlet Send-MailMessage ist veraltet. Weitere Informationen finden Sie unter Plattformkompatibilitätshinweis DE0005. Dieses Cmdlet garantiert keine sicheren Verbindungen mit SMTP-Servern.
DE0005 schlägt vor, die Verwendung der Drittanbieterbibliothek MailKit-. Wenn Sie Exchange Online verwenden, können Sie die Send-MgUserMail- aus dem Microsoft Graph PowerShell SDK verwenden.