Szukaj…


Wprowadzenie

Przydatną techniką dla administratorów Exchange Server jest możliwość wysyłania wiadomości e-mail za pomocą SMTP z PowerShell. W zależności od wersji programu PowerShell zainstalowanej na komputerze lub serwerze istnieje wiele sposobów wysyłania wiadomości e-mail za pomocą programu PowerShell. Istnieje natywna opcja cmdlet, która jest prosta i łatwa w użyciu. Używa polecenia cmdlet Send-MailMessage .

Parametry

Parametr Detale
Załączniki <String []> Ścieżki i nazwy plików dołączanych do wiadomości. Ścieżki i nazwy plików mogą być przesyłane potokowo do Send-MailMessage.
Bcc <String []> Adresy e-mail, które otrzymują kopię wiadomości e-mail, ale nie pojawiają się jako adresat wiadomości. Wprowadź nazwiska (opcjonalnie) i adres e-mail (wymagane), na przykład Imię ktoś@example.com lub ktoś@example.com.
Body <String_> Treść wiadomości e-mail.
BodyAsHtml Wskazuje, że treść jest w formacie HTML.
Cc <Ciąg []> Adresy e-mail, które otrzymują kopię wiadomości e-mail. Wprowadź nazwiska (opcjonalnie) i adres e-mail (wymagane), na przykład Imię ktoś@example.com lub ktoś@example.com.
Poświadczenie Określa konto użytkownika, które ma uprawnienia do wysyłania wiadomości z określonego adresu e-mail. Domyślnie jest to bieżący użytkownik. Wprowadź nazwę, taką jak Użytkownik lub Domena \ Użytkownik, lub wprowadź obiekt PSCredential.
DeliveryNotificationOption Określa opcje powiadomienia o dostarczeniu wiadomości e-mail. Można podać wiele wartości. Powiadomienia o dostawie są wysyłane w wiadomości na adres podany w parametrze Do. Dopuszczalne wartości: Brak, OnSuccess, OnFailure, Delay, Never.
Kodowanie Kodowanie ciała i podmiotu. Dopuszczalne wartości: ASCII, UTF8, UTF7, UTF32, Unicode, BigEndianUnicode, Domyślne, OEM.
Od Adresy e-mail, z których wysyłana jest poczta. Wprowadź nazwiska (opcjonalnie) i adres e-mail (wymagane), na przykład Imię ktoś@example.com lub ktoś@example.com.
Port Alternatywny port na serwerze SMTP. Wartość domyślna to 25. Dostępne z Windows PowerShell 3.0.
Priorytet Priorytet wiadomości e-mail. Dopuszczalne wartości: normalny, wysoki, niski.
SmtpServer Nazwa serwera SMTP, który wysyła wiadomość e-mail. Wartość domyślna to wartość zmiennej $ PSEmailServer.
Przedmiot Temat wiadomości e-mail.
Do Adresy e-mail, na które wysyłana jest poczta. Wprowadź nazwiska (opcjonalnie) i adres e-mail (wymagane), na przykład Imię ktoś@example.com lub ktoś@example.com
UseSsl Używa protokołu Secure Sockets Layer (SSL) do nawiązania połączenia z komputerem zdalnym w celu wysłania poczty

Prosta wiadomość e-mail

Send-MailMessage -From [email protected] -Subject "Email Subject" -To [email protected] -SmtpServer smtp.com

Send-MailMessage ze wstępnie zdefiniowanymi parametrami

$parameters = @{
    From = '[email protected]'
    To = '[email protected]'
    Subject = 'Email Subject'
    Attachments =  @('C:\files\samplefile1.txt','C:\files\samplefile2.txt')
    BCC = '[email protected]'
    Body = 'Email body'
    BodyAsHTML = $False
    CC = '[email protected]'
    Credential = Get-Credential
    DeliveryNotificationOption = 'onSuccess'
    Encoding = 'UTF8'
    Port = '25'
    Priority = 'High'
    SmtpServer = 'smtp.com'
    UseSSL = $True
}

# Notice: Splatting requires @ instead of $ in front of variable name
Send-MailMessage @parameters

SMTPClient - Mail z plikiem .txt w treści wiadomości

# Define the txt which will be in the email body
$Txt_File = "c:\file.txt"

function Send_mail {
    #Define Email settings
    $EmailFrom = "[email protected]"
    $EmailTo = "[email protected]"
    $Txt_Body = Get-Content $Txt_File -RAW
    $Body = $Body_Custom + $Txt_Body
    $Subject = "Email Subject"
    $SMTPServer = "smtpserver.domain.com"
    $SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 25) 
    $SMTPClient.EnableSsl = $false
    $SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)

}

$Body_Custom = "This is what contain file.txt : "

Send_mail


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow