Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Windows [игнор отключен] [закрыт для гостей] / powershell mail credential with encrypted password / 2 сообщений из 2, страница 1 из 1
19.09.2016, 21:55
    #39311539
Шведков Артем
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
powershell mail credential with encrypted password
Всем привет)

Подскажите, чего делаю не так ?? С зашитым паролем все работает, почта отправляется. Через SecureString - не работает.

Исключение при вызове "Send" с "4" аргументами: "Неправильная последовательность команд. Ответ сервера: 5.5.4 Error: send AUTH command first."

Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
$File = "C:\ps\mail_pwd.txt"
$FileBody = "C:\ps\mail_body.txt"

$UserName = "login@yandex.ru"
$PlainPassword = "password"

$PlainPassword | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-SecureString | Out-File $File
$SecurePassword = Get-Content $File | ConvertTo-SecureString

$Creds = New-Object –TypeName System.Management.Automation.PSCredential -ArgumentList $UserName, $SecurePassword

$EmailFrom = "login@yandex.ru"
$EmailTo = "login2@yandex.ru"
$Subject = "тест"
$Body = Get-Content $FileBody

$SMTPServer = "smtp.yandex.ru"
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTPClient.EnableSsl = $true

### Так работает
### $SMTPClient.Credentials = New-Object System.Net.NetworkCredential($Creds.UserName, $PlainPassword)

### Так не работает
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($Creds.UserName, $Creds.Password)

$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)



P.S. вообще на яндексе написано для SSL SMTP юзать порт 465, но там чего то нет ответа сейчас.. в общем, пробовал и для другого домена, не работает через secure string

-------------------------------------------------------------------
<br/> И один генерал, по TV сказал
<br/> Что на Марсе, не будет with..
...
Рейтинг: 0 / 0
20.09.2016, 12:32
    #39311880
Шведков Артем
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
powershell mail credential with encrypted password
всем спасибо, ответ нашел)

Код: powershell
1.
2.
$BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($SecurePassword)
$UnsecurePassword = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)



только как это поможет уберечь пароль от злых рук, непонятно еще))
...
Рейтинг: 0 / 0
Форумы / Windows [игнор отключен] [закрыт для гостей] / powershell mail credential with encrypted password / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]