Ваши проблемы выглядят так:
Объект, определенный вне функции, в которой он используется:
$Outlook = New-Object -ComObject Outlook.Application
Строки без кавычек в переменных:
$desde = client2@mail.com
$buzon = inbox1@mail.com
$inc = 000000001
Смешивать и сочетать одинарные и двойные кавычки
- Я бы рекомендовал прочитать about_quoting_rules , чтобы понять разницу, поскольку это весьма важно при использовании переменных внутри строк.
параметр функции $inc
определен имеет данные, но ни для чего не используется?
- Рекомендую удалить это, если оно не используется.
Специально не проблема, но я изменил строку here (@" "@
) на обычную строку с разрывами строк (`r`n`)
После устранения проблем и исправления кода:
Function Send-Email {
param (
[String]$desde,
[String]$subject,
[String]$buzon,
[String]$inc
)
$firma = 'Textplan'
$cuerpo = "Dear colleague,`r`nbla bla bla`r`nThank you."
$Outlook = New-Object -ComObject Outlook.Application
$mail = $Outlook.CreateItem(0)
$mail.subject = 'Closed Ticket ' + $subject
$mail.sender = $buzon
$mail.body = "$cuerpo $firma"
$mail.To = $desde
$mail.Send()
Start-Sleep 3
}
$desde = 'client2@mail.com'
$subject = 'Automat request'
$buzon = 'inbox1@mail.com'
$inc = '000000001'
Send-Email -desde $desde -subject $subject -buzon $buzon -inc $inc
У меня нет Outlook для тестирования кода, но после проверки его с помощью документации Outlook.Application
теперь она кажется действительной.