Share via


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 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, 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-MailMessageerforderlich. 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 Parameter From , um den Absender der Nachricht anzugeben. Der To-Parameter gibt den Empfänger der Nachricht an. Der Subject-Parameter verwendet die Textzeichenfolge Test-E-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 Parameter From , 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 Priority-Parameter 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 Mailingliste 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 Parameter From , 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 UseSsl-Parameter gibt an, dass SSL (Secure Socket Layer) 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. B Name <someone@fabrikam.com>. .

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. B Name <someone@fabrikam.com>. .

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. eines 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 Parameter From gesendet.

Die zulässigen Werte für diesen Parameter sind wie folgt:

  • None: Keine Benachrichtigung.
  • OnSuccess: Benachrichtigen Sie, wenn die Übermittlung erfolgreich ist.
  • OnFailure: Benachrichtigen, wenn die Übermittlung nicht erfolgreich ist.
  • Delay: Benachrichtigen Sie, wenn die Zustellung verzögert wird.
  • Never: Nie benachrichtigen.

Diese Werte werden als flagbasierte Enumeration definiert. Sie können mehrere Werte miteinander kombinieren, um mehrere Flags mit diesem Parameter festzulegen. Die Werte können als Array von Werten oder als durch Trennzeichen getrennte Zeichenfolge dieser Werte an den Parameter DeliveryNotification übergeben werden. Das Cmdlet kombiniert die Werte mithilfe eines binär-OR-Vorgangs. Das Übergeben von Werten als Array ist die einfachste Option und ermöglicht es Ihnen auch, die Tabulatorvervollständigung für die Werte zu verwenden.

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.
  • bigendianutf32: Codiert im UTF-32-Format mit der Big-Endian-Bytereihenfolge.
  • oem: Verwendet die Standardcodierung für MS-DOS- und Konsolenprogramme.
  • unicode: Codiert im UTF-16-Format mit der Bytereihenfolge little-endian.
  • 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 Codierungsparameter auch numerische IDs registrierter Codeseiten (z. B -Encoding 1251. ) oder Zeichenfolgennamen registrierter Codeseiten (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, BigEndianUTF32, 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. B Name <someone@fabrikam.com>. .

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. B Name <someone@fabrikam.com>. .

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 nicht erforderlich. Dieser Parameter gibt den Betreff der E-Mail-Nachricht an.

Type:String
Aliases:sub
Position:1
Default value:None
Required:False
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. B Name <someone@fabrikam.com>. .

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 zum Senden von E-Mails herzustellen. Standardmäßig wird SSL nicht verwendet.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

Eingaben

String

Sie können die Pfad- und Dateinamen von Anlagen an übergeben Send-MailMessage.

Ausgaben

None

Dieses Cmdlet generiert keine Ausgabe.