Автор Тема: Не удается отправлять почту из PS  (Прочитано 796 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Triangle

  • Модераторы
  • Олдфаг
  • *****
  • Сообщений: 7138
  • Рейтинг: 48
  • Пол: Мужской
  • Откуда: замкадыш
Не удается отправлять почту из PS
« : 06 апреля 2022, 19:18:47 »
$MyEmail = "serialcomputer@yandex.ru"
$creds = get-credential -Message 'Enter your email credentials' -Username $MyEmail


$ServerParams = @{
    SmtpServer = "smtp.yandex.ru"
    From = $MyEmail
    Port = 465
    UseSsl = $true
    Credential =  $creds
}

$MessageParams = @{
    'To' = "psa@prin.ru"
    'Subject' = "bld"
    'Body' = "ps mail"
}

Send-MailMessage @ServerParams @MessageParams

отвал по таймауту
Тетрис научил нас жизненно важному пониманию, успехи исчезают, ошибки накапливаются.

Оффлайн Retif

  • Администраторы
  • Олдфаг
  • *****
  • Сообщений: 9071
  • Рейтинг: 88
  • Пол: Мужской
  • Афтар
    • Просмотр профиля
    • Мой блог
  • Откуда: Орёл
Не удается отправлять почту из PS
« Ответ #1 : 06 апреля 2022, 19:28:03 »
У меня такое когда-то работало (пароль в открытом виде):
$SmtpServer = "smtp.yandex.ru"
$Port = '587'
$SmtpFrom = "user@yandex.ru"
$username = "user"
$SmtpTo = "user@yandex.ru"
$Subject = "Алярм! Темпрература сервера превысила 60 градусов!"
$Password = "Password"
$Body = @'
Добрый день.

Температура сервера превысила 60 градусов!

---
С уважением, Ваша система мониторинга.
mailto:monitoring@company.com.
'@

$SecPasswd = ConvertTo-SecureString $Password -AsPlainText -Force
$MyCreds = New-Object System.Management.Automation.PSCredential ($username, $Secpasswd)

try {
    Send-MailMessage -SmtpServer $SmtpServer -UseSsl:$true -Port $Port -From $SmtpFrom -To $SmtpTo -Subject $Subject -Body $Body -Credential $MyCreds -Encoding UTF8 -ErrorAction Stop
    Write-Host "Письмо `"$($Subject)`" от $($SmtpFrom) на адрес $($SmtpTo) успешно отправлено." -ForegroundColor Green
}
catch {
        Write-Host "Ошибка отправки письма $($_.Exception.Message)" -ForegroundColor Red
}
$Password = $Null
$MyCreds = $Null

С виду вроде то же самое, что и у тебя.
« Последнее редактирование: 06 апреля 2022, 20:09:50 от Retif »

Оффлайн Triangle

  • Модераторы
  • Олдфаг
  • *****
  • Сообщений: 7138
  • Рейтинг: 48
  • Пол: Мужской
  • Откуда: замкадыш
Не удается отправлять почту из PS
« Ответ #2 : 06 апреля 2022, 20:05:10 »
И зачем я в 465 ломился, вопрос...
Спасибо

#Отправка письма через Powershell
$SmtpServer = "smtp.yandex.ru"
$Port = '587'
$SmtpFrom = "$env:COMPUTERNAME, serialcomputer@yandex.ru"
$username = "serialcomputer@yandex.ru"
$SmtpTo = "psa@prin.ru"
$Subject = "серийный номер и модель"
$Password = "wwL8nVNh8gHq259NVyLGxb"
$Body = 'см вложение'
$SecPasswd = ConvertTo-SecureString $Password -AsPlainText -Force
$MyCreds = New-Object System.Management.Automation.PSCredential ($username, $Secpasswd)
cd $env:USERPROFILE
Get-CimInstance -ClassName Win32_ComputerSystem | Out-File -FilePath out.txt
Get-CimInstance -ClassName Win32_bios | Out-File -FilePath out.txt -Append
Send-MailMessage -SmtpServer $SmtpServer -UseSsl:$true -Port $Port -From $SmtpFrom -To $SmtpTo -Subject $Subject -Body $Body -Attachment out.txt -Credential $MyCreds -Encoding UTF8
remove-item out.txt
$Password = $Null
$MyCreds = $Null

Обрезал и собрал в экзешник, счастье есть, завтра будем тестировать.
« Последнее редактирование: 06 апреля 2022, 20:17:52 от Triangle »
Тетрис научил нас жизненно важному пониманию, успехи исчезают, ошибки накапливаются.