@bad_shape_guy

Как отправить письмо в Powershell без шифрования логина и пароля?

Добрый день, есть задача отправки писем средствами Powershell через свой локальный почтовый сервер
но у почтового сервера есть один нюанс, он ожидает пару логин/пароль в плоском нешифрованном виде, а Powershell командлет Send-MailMessage похоже credential ожидает только в шифрованном виде

$Password = "password" | ConvertTo-SecureString -AsPlainText -Force
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $From, $Password


можно ли как то в Powershell произвести отправку с данными авторизации обычным текстом?
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ответы на вопрос 3
@mvv-rus
Настоящий админ AD и ненастоящий программист
А этот шифрованный вид чему-то мешает? Пароль там шифруется вполне обратимо, и Send-MailMessage, если используется аутентификация открытым текстом (это видно по ответу на команду EHLO протокола SMTP), вполне может его расшифровать и использовать.
Если у вас там ошибка, то ее причина может быть в другом. Если будете искать причину - рекомендую получить лог сессии SMTP в текстовом виде и смотреть, что именно там происходит.
Ответ написан
Комментировать
@NortheR73
системный инженер
как вариант: можно поднять на почтаре анонимный релей для сервера/группы серверов (в Exchange - это Anonymous Receive Connector), с которых будет выполняться отправка писем и слать почту с помощью Send-MailMessage без авторизации
Ответ написан
Комментировать
@MaxKozlov Куратор тега PowerShell
У вас и так пароль уходит на сервер в нешифрованном виде.

То, что вы предварительно credential типа "шифруете" всё равно до сервера в таком виде не уходит. Оно только в памяти так хранится.
в SMTP сессии там всё равно Plain/Login

Можно отправлять через System.Net.Mail.SmtpClient

пример

Там с SSL всё гибче
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы