Tag «email»

Wysyłka email z Powershell

Aby wysłać wiadomość email z poziomu powershell wydajemy polecenie Send-MailMessage -From [email protected] -To [email protected] -Subject „Temat wiadomości” -Body „Zawartość wiadomości” -SmtpServer smtp.domena.pl -Port 587 Powyższe polecenie wysyła wiadomość bez autoryzacji. W przypadku gdy serwer za pośrednictwem którego chcemy wysłać wiadomość wymaga autoryzacji musimy przekazać dane autoryzacyjne. W pierwszej kolejności zapiszemy dane do zmiennej $cred = get-credential Po wydaniu powyższego polecenia pokaże nam się okno w którym wprowadzamy dane autoryzacyjne Następnie wysyłamy wiadomość wydając polecenie Send-MailMessage -From [email protected] -To [email protected] -Subject „Temat wiadomości” -Body „Zawartość wiadomości” -Credential $cred -SmtpServer smtp.domena.pl -Port 587 Rozwiązanie to jednak nie nadaje się do wykorzystania w automatycznych skryptach. Hasło musimy automatycznie w jakiś sposób przekazać. W tym celu możemy zapisać zakodowane hasło do pliku wydając polecenie „haslo_do_konta” | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-SecureString | Out-File „c:\password.txt” Hasło zapisane w powyższy sposób możemy następnie wykorzystać w skrypcie w następujący sposób #zapis nazwy użytkownika do zmiennej$User = „login”#zapisanie w zmiennej scieżki do pliku z zakodowanym hasłem$File = „C:\password.txt”#zapisanie danych logowania do zmiennej$cred=New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, (Get-Content $File | ConvertTo-SecureString)#wysyłka wiadomościSend-MailMessage -From [email protected] -To [email protected] -Subject „Temat wiadomości” -Body „Zawartość wiadomośc” -Credential $cred -SmtpServer smtp.domena.pl -Port 587