Send-MailMessage
Sendet eine E-Mail.
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>]
Beschreibung
Das Send-MailMessage
Cmdlet sendet eine E-Mail-Nachricht aus PowerShell.
Sie müssen einen SMTP-Server (Simple Mail Transfer Protocol) angeben, andernfalls schlägt der Send-MailMessage
Befehl fehl. Verwenden Sie den SmtpServer-Parameter , oder legen Sie die $PSEmailServer
Variable auf einen gültigen SMTP-Server fest.
Der Zugewiesene $PSEmailServer
Wert ist die SMTP-Standardeinstellung 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, nicht zu verwenden Send-MailMessage
. 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, To und Subject sind für Send-MailMessage
erforderlich. In diesem Beispiel wird die Standardvariable $PSEmailServer
für den SMTP-Server verwendet, sodass der SmtpServer-Parameter nicht benötigt wird.
Send-MailMessage -From 'User01 <user01@fabrikam.com>' -To 'User02 <user02@fabrikam.com>' -Subject 'Test mail'
Das Send-MailMessage
Cmdlet verwendet den From-Parameter , um den Absender der Nachricht anzugeben. Der To-Parameter gibt den Empfänger der Nachricht an. Der Subject-Parameter 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.
Send-MailMessage -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'
Das Send-MailMessage
Cmdlet verwendet den From-Parameter , um den Absender der Nachricht anzugeben. Der To-Parameter gibt die Empfänger der Nachricht an. Der Subject-Parameter beschreibt den Inhalt der Nachricht. Der Body-Parameter ist der Inhalt der Nachricht.
Der Attachments-Parameter gibt die Datei im aktuellen Verzeichnis an, die an die E-Mail-Nachricht angefügt ist. Der Parameter Priority legt die Nachricht auf Hohe 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 SmtpServer-Parameter legt den SMTP-Server auf smtp.fabrikam.com fest.
Beispiel 3: Senden einer E-Mail an eine Mailingliste
In diesem Beispiel wird eine E-Mail-Nachricht an eine Adressenliste gesendet.
Send-MailMessage -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
Das Send-MailMessage
Cmdlet verwendet den From-Parameter , um den Absender der Nachricht anzugeben. Der To-Parameter gibt die Empfänger der Nachricht an. Der Cc-Parameter sendet eine Kopie der Nachricht an den angegebenen Empfänger. Der Bcc-Parameter sendet eine blinde Kopie der Nachricht. Eine blinde Kopie ist eine E-Mail-Adresse, die vor den anderen Empfängern verborgen ist. Der Subject-Parameter ist die Meldung, da der optionale Body-Parameter nicht enthalten ist.
Der Parameter Credential 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 die Dateinamen der Dateien an, die an die E-Mail-Nachricht angefügt werden sollen. Sie können diesen Parameter verwenden oder die Pfade und Dateinamen an übergeben Send-MailMessage
.
Type: | String[] |
Aliases: | PsPath |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Bcc
Gibt die E-Mail-Adressen an, die eine Kopie der E-Mail empfangen, aber nicht als Empfänger der Nachricht aufgeführt werden. Geben Sie Namen (optional) und die E-Mail-Adresse ein, z Name <someone@fabrikam.com>
. B. .
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Body
Gibt den Inhalt der E-Mail-Nachricht an.
Type: | String |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-BodyAsHtml
Gibt an, dass der Wert des Body-Parameters HTML enthält.
Type: | SwitchParameter |
Aliases: | BAH |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Cc
Gibt die E-Mail-Adressen an, an die eine Carbon Copy (CC) der E-Mail-Nachricht gesendet wird. Geben Sie Namen (optional) und die E-Mail-Adresse ein, z Name <someone@fabrikam.com>
. B. .
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Credential
Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Der Standardwert ist der aktuelle Benutzer.
Geben Sie einen Benutzernamen ein, z. B. User01 oder Domain01\User01. Oder geben Sie ein PSCredential-Objekt ein, z. B. ein Objekt aus dem Get-Credential
Cmdlet.
Anmeldeinformationen werden in einem PSCredential-Objekt gespeichert, und das Kennwort wird als SecureString gespeichert.
Hinweis
Weitere Informationen zum Schutz von SecureString-Daten finden Sie unter Wie sicher ist SecureString?.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-DeliveryNotificationOption
Gibt die Übermittlungsbenachrichtigungsoptionen für die E-Mail-Nachricht an. Sie können mehrere Werte angeben. None ist der Standardwert. Der Alias für diesen Parameter ist DNO.
Die Übermittlungsbenachrichtigungen werden an die Adresse im From-Parameter gesendet.
Die zulässigen Werte für diesen Parameter sind wie folgt:
None
: Keine Benachrichtigung.OnSuccess
: Benachrichtigen, wenn die Übermittlung erfolgreich war.OnFailure
: Benachrichtigen, wenn die Übermittlung nicht erfolgreich ist.Delay
: Benachrichtigen, wenn sich die Lieferung verzögert.Never
: Nie benachrichtigen.
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
Gibt den Typ der Codierung für die Zieldatei an. Standardwert: utf8NoBOM
.
Die zulässigen Werte für diesen Parameter sind wie folgt:
ascii
: Verwendet die Codierung für den ASCII-Zeichensatz (7-Bit).bigendianunicode
: Codiert im UTF-16-Format mit der Big-Endian-Bytereihenfolge.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 lässt der Encoding-Parameter auch numerische IDs registrierter Codepages (z. B -Encoding 1251
. ) oder Zeichenfolgennamen von registrierten Codepages (z. B -Encoding "windows-1251"
. ) zu. Weitere Informationen finden Sie in der .NET-Dokumentation für Encoding.CodePage.
Type: | Encoding |
Aliases: | BE |
Accepted values: | ASCII, BigEndianUnicode, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
Position: | Named |
Default value: | UTF8NoBOM |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-From
Der From-Parameter ist erforderlich. Dieser Parameter gibt die E-Mail-Adresse des Absenders an. Geben Sie einen Namen (optional) und eine E-Mail-Adresse ein, z Name <someone@fabrikam.com>
. B. .
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Port
Gibt einen alternativen Port auf dem SMTP-Server an. Der Standardwert ist 25, wobei es sich um den SMTP-Standardport handelt.
Type: | Int32 |
Position: | Named |
Default value: | 25 |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Priority
Gibt die Priorität der E-Mail-Nachricht an. Der Standardwert ist „Normal“. Die zulässigen Werte für diesen Parameter sind Normal, Hoch und Niedrig.
Type: | MailPriority |
Accepted values: | Normal, High, Low |
Position: | Named |
Default value: | Normal |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ReplyTo
Gibt zusätzliche E-Mail-Adressen (außer der Von-Adresse) an, die zum Beantworten dieser Nachricht verwendet werden sollen.
Geben Sie Namen (optional) und die E-Mail-Adresse ein, z Name <someone@fabrikam.com>
. B. .
Dieser Parameter wurde in PowerShell 6.2 eingeführt.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SmtpServer
Gibt den Namen des SMTP-Servers an, der die E-Mail-Nachricht sendet.
Der Standardwert ist der Wert der Einstellungsvariablen $PSEmailServer
. Wenn die Einstellungsvariable nicht festgelegt ist und dieser Parameter nicht verwendet wird, schlägt der Send-MailMessage
Befehl fehl.
Type: | String |
Aliases: | ComputerName |
Position: | 3 |
Default value: | $PSEmailServer |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Subject
Der Subject-Parameter ist erforderlich. Dieser Parameter gibt den Betreff der E-Mail-Nachricht an.
Type: | String |
Aliases: | sub |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-To
Der To-Parameter ist erforderlich. Dieser Parameter gibt die E-Mail-Adresse des Empfängers an. Wenn mehrere Empfänger vorhanden sind, trennen Sie ihre Adressen durch ein Komma (,
). Geben Sie Namen (optional) und die E-Mail-Adresse ein, z Name <someone@fabrikam.com>
. B. .
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Eingaben
Sie können den Pfad und die Dateinamen von Anlagen an übergeben Send-MailMessage
.
Ausgaben
None
Dieses Cmdlet generiert keine Ausgabe.