Отправленные Mail / PowerShell Учетные данные - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь отправить электронное письмо, используя код на основе этого примера: https://blog.victorsilva.com.uy/credenciales-con-powershell/,, но электронное письмо не отправляется:

$emailSmtpServer = "smtp.mail.yahoo.com"
$emailSmtpServerPort = "587"
$password = Get-Content -Path "C:\Users\USUARIOPC\password2.txt" | 
ConvertTo-SecureString -String $password
$credential = New-Object 
System.Management.Automation.PsCredential("jrosh.01@yahoo.com", $password)

$emailMessage = New-Object System.Net.Mail.MailMessage

$emailMessage.From = "jrosh.01@yahoo.com"
$emailMessage.To.Add( "jrosh.01@yahoo.com" )
$emailMessage.subject = "Notificacion de: $($env:computername)"
$emailMessage.IsBodyHtml = $true

$evento = Get-WinEvent –FilterHashTable @{logname="System"} -MaxEvents 1 | 
Where {$_.ID -Match "1020"}

$emailMessage.Body = @"
    <H1>Alerta Scope DHCP</H1>
    <p>Evento a revisar en: <strong>$($evento.MachineName)</strong>.</p>
    <p>Identificador: <strong>$($evento.Id)</strong>.</p>
    <p>Fecha / Hora: <strong>$($evento.TimeCreated)</strong>.</p>
    <p>Texto: <strong>$($evento.Message)</strong>.</p>
    <br>
    <H5><i>$(get-date)</i></H5>
"@

$SMTPClient = New-Object System.Net.Mail.SmtpClient( $emailSmtpServer , 
$emailSmtpServerPort )
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential( 
$emailSmtpUser , $credential );

$SMTPClient.Send( $emailMessage )
Write-Host "Correo Enviado..."

1 Ответ

0 голосов
/ 08 июня 2018

Из сообщений об ошибках, которые вы отправили, похоже, что есть проблема с файлом паролей.Убедитесь, что вы экспортируете свой пароль следующим образом:

"P@ssword1" | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-SecureString | Out-File C:\Users\USUARIOPC\password2.txt

Где P@ssword1 - ваш пароль.

...