PowerShell
Wysyłać email
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