EulandaXtools — Funktionsreferenz
Sendet eine E-Mail über einen SMTP-Server mit optionaler Authentifizierung und Anhängen.
Send-SmtpMail [-From] <string> [-To] <string[]> [[-Cc] <string[]>] [[-Bcc] <string[]>] [[-ReplyTo]
<string>] [-SmtpServer] <string> [[-Priority] <string>] [[-Encoding] <string>] [[-User]
<string>] [[-PlainPassword] <string>] [[-Password] <secureString>] [[-Credential]
<psCredential>] [-UseSsl] [-BodyAsHtml] [[-Port] <int>] [[-DeliveryNotificationOption]
<string[]>] [-Subject] <string> [[-Body] <string>] [[-Attachment] <string[]>]
[<CommonParameters>]Diese Funktion sendet eine E-Mail über einen konfigurierbaren SMTP-Server. Sie unterstützt Klartext- und SecureString-basierte Authentifizierung, sowie auch den Versand ganz ohne Authentifizierung (z. B. an interne Relay-Server). Die Nachricht kann HTML oder reinen Text enthalten und optional Anhänge mitliefern.
Die Authentifizierungslogik arbeitet nach folgendem Schema:
1. Wenn -Credential angegeben ist, wird dieses verwendet.
2. Falls kein Credential angegeben ist, aber -User und -Password (SecureString), wird ein Credential erzeugt.
3. Falls kein Password, aber -User und -PlainPassword vorhanden sind, wird ebenfalls ein Credential erzeugt.
4. Wird nur -User angegeben, aber kein Passwort, wird ein Fehler erzeugt (catch → false).
5. Wenn gar kein Benutzer angegeben ist, erfolgt der Versand ohne Authentifizierung.
Die Funktion setzt automatisch TLS (1.0 bis 1.2) als Protokoll und unterstützt verschiedene Zeichencodierungen.
-From
Type: stringAbsenderadresse der E-Mail.
-To
Type: string[]Empfängeradresse(n) der E-Mail (ein oder mehrere).
-Cc
Type: string[]Optionale CC-Empfänger.
-Bcc
Type: string[]Optionale BCC-Empfänger.
-ReplyTo
Type: string
Default: $FromReply-To-Adresse. Standard ist die Absenderadresse (`From`).
-SmtpServer
Type: stringHostname oder IP-Adresse des SMTP-Servers.
-Priority
Type: string
Default: 'Normal'E-Mail-Priorität: `Normal`, `High` oder `Low`. Standard: `Normal`.
-Encoding
Type: string
Default: 'utf8'Zeichencodierung der Nachricht (z.B. `utf8`, `ascii`). Standard: `utf8`.
-User
Type: stringBenutzername für die SMTP-Authentifizierung. Ohne Angabe erfolgt anonymer Versand.
-PlainPassword
Type: stringKlartext-Passwort für die Authentifizierung (wird intern in SecureString gewandelt).
-Password
Type: secureStringPasswort als SecureString für die Authentifizierung.
-Credential
Type: psCredentialPSCredential-Objekt für die Authentifizierung (hat Vorrang vor User/Password).
-UseSsl
Type: switchAktiviert TLS/SSL für die Verbindung zum SMTP-Server.
-BodyAsHtml
Type: switchWenn gesetzt, wird der Body als HTML interpretiert.
-Port
Type: int
Default: 25TCP-Port des SMTP-Servers. Standard: 25 (für TLS oft 587).
-DeliveryNotificationOption
Type: string[]
Default: 'None'Zustellbenachrichtigung: `None`, `OnSuccess`, `OnFailure`, `Delay`, `Never`. Standard: `None`.
-Subject
Type: stringBetreffzeile der E-Mail.
-Body
Type: stringInhalt der Nachricht (Text oder HTML).
-Attachment
Type: string[]Optionale Dateipfade für Anhänge.
boolean`$true` bei erfolgreichem Versand, `$false` bei Fehler.
# Sendet eine HTML-Mail ohne Authentifizierung an den Empfänger. Der SMTP-Server erlaubt anonyme Übertragung.
Send-SmtpMail -From 'info@firma.de' -To 'kunde@example.com' -SmtpServer 'mail.firma.de' `
-Subject 'Willkommen' -Body '<h1>Hallo!</h1>' -BodyAsHtml -UseSsl -Verbose# Versendet eine E-Mail über einen internen Server mit Klartext-Anmeldung.
Send-SmtpMail -From 'noreply@example.com' -To 'admin@intern.local' `
-SmtpServer 'mail.intern.local' -User 'noreply' -PlainPassword 'Geheim123' `
-Subject 'Interner Bericht' -Body 'Erledigt.' -Verbose# Sendet eine E-Mail über Office365 mit TLS und SecureString-Authentifizierung.
$sec = ConvertTo-SecureString 'Sicher123' -AsPlainText -Force
Send-SmtpMail -From 'support@example.com' -To 'kunde@example.com' `
-SmtpServer 'smtp.office365.com' -User 'support@example.com' -Password $sec `
-Subject 'Ticket 4711' -Body 'Wir melden uns zeitnah.' -UseSsl -Port 587 -VerboseKompatibel mit PowerShell 5.1+