我有一个ps1脚本,它在来自任务计划程序的事件中有条件地运行。触发我的脚本的事件是完成并写入“...已成功完成”任务计划程序事件日志的另一个任务。发生这种情况时,我的脚本会将带有附加文件的HTML电子邮件(send-mailmessage)发送给特定用户。 的问题是,它的工作原理,当我手动运行,但是当我设置的条件(仍然发送电子邮件),但不附加的文件...这里是我的代码:带附件的发送邮件消息
$HTML = @"
<!DOCTYPE html>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
<TITLE></TITLE>
$Messages
</body></html>
"@
$SMTPServer = "smtp.myserver.com"
$SMTPPort = "1234"
$Username = "[email protected]"
$Password = "xyz-password"
$to = "[email protected]"
$bcc = "[email protected]"
$subject = "My Import Alert"
$attachment = "(unc path to the .csv)-$(get-date -f yyMMdd).csv"
$message = New-Object System.Net.Mail.MailMessage
$message.subject = $subject
$message.body = $HTML
$message.IsBodyHTML = $true
$message.to.add($to)
$message.bcc.add($bcc)
$message.from = "Import Alerts <[email protected]>"
$message.attachments.add($attachment)
$smtp = New-Object System.Net.Mail.SmtpClient($SMTPServer, $SMTPPort);
$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
$SMTPMessage=New-Object System.Net.Mail.MailMessage
$smtp.send($message)
所以,当它手动运行时,它可以正常工作(带附件)...每一次! 当我将它设置为通过任务计划程序运行时,它可以工作(发送电子邮件)但是没有附件!它运行良好,直到今天(!)
我不知道如何调试或测试这一切...任何帮助将不胜感激!
谢谢!!! B-
您未在代码中使用send-mailmessage。在你的描述中,你说你是。这真的是你在日程安排中运行的脚本吗? – alroc 2015-04-14 17:05:43
执行计划任务的用户帐户是否有权访问附件的UNC路径? – alroc 2015-04-14 17:10:37