2017-01-30 4 views
1

Я хочу отправить электронное письмо с powershell. Скрипт отлично работает, если я набираю свои учетные данные в ручном режиме. Но я хочу указать параметры учетных данных в скрипте. Мой сценарий выглядит следующим образом:Отправка электронной почты с помощью powershell

$From = "[email protected]" 
$To = "[email protected]" 
$Cc = "[email protected]" 
$Attachment = "C:\Users\test\test\test.ini" 
$Subject = "Email Subject" 
$Body = "Insert body text here" 
$SMTPServer = "smtp.mail.yahoo.com" 
$SMTPPort = "587" 
Send-MailMessage -From $From -to $To -Cc $Cc -Subject $Subject ` 
-Body $Body -SmtpServer $SMTPServer -port $SMTPPort -UseSsl ` 
-Credential ( 
$MyClearTextUsername=’[email protected]’ 
$MyClearTextPassword=’test123’ 

$SecurePassword=Convertto-SecureString –String $MyClearTextPassword –AsPlainText –force 

$MyCredentials=New-object System.Management.Automation.PSCredential $MyClearTextPassword,$SecurePassword) -Attachments $Attachment 

ответ

1

Вот как вы можете создать учетные данные объекта:

$cred = ([pscredential]::new('[email protected]',(ConvertTo-SecureString -String 'test123' -AsPlainText -Force))) 

так в вашем случае использования:

Send-MailMessage -From $From -to $To -Cc $Cc -Subject $Subject ` 
    -Body $Body -SmtpServer $SMTPServer -port $SMTPPort -UseSsl ` 
    -Credential $cred -Attachments $Attachment 

Я не вижу никакого смысла в попытке соответствовать что в Send-MailMessage, просто создайте его и ссылайтесь на него. легче читать.

+0

спасибо! – Tibi

+0

никаких проблем, если ответ вам помог, отметьте его как ответ;) @Tibi – 4c74356b41

+1

Отмечено! Не позволил бы мне до сих пор. Вы ответили слишком быстро: D – Tibi

Смежные вопросы