powershell - emailmessage - 附加文件类型的每个文件

时间:2016-09-29 15:28:40

标签: email powershell attachment

我正在尝试将某个文件类型的每个文件作为附件发送电子邮件。如果我有 一个单独的pdf脚本工作。然而,许多人在一天内创造出来。当任务调度程序运行时,我的脚本不会发送文件夹中的每个pdf。它只需要发送一个文件。这是脚本的一部分。我也尝试过" foreach($ createddj in $ sourcedir)

for /f "usebackq tokens=1,2,3,4,5,6,7 delims=/:. " %%a in (`echo %DATE% %TIME%`) do set NOW=%%d%%b%%c_%%e%%f%%g
@echo now: %NOW%

}

2 个答案:

答案 0 :(得分:0)

  

我也试过“foreach($ createddj in $ sourcedir)

通过$ sourcedir进行预告将无法获取目录中的所有项目。您应该知道这一点,因为下一行是您获取目录中的文件。

使用您的代码,您应该能够

foreach ($proj in $createdproj) {
  $emailMessage.Attachments.Add($proj)
}

答案 1 :(得分:0)

谢谢。那很有效。这是决赛:

foreach ($proj in $createdproj) {

$emailSmtpServer = "smtp.client.com"
$emailSmtpServerPort = "25"
$emailMessage = New-Object System.Net.Mail.MailMessage
$emailMessage.From = "system@client.com"
$emailMessage.To.Add( "support@ITcompany.com" )
$emailMessage.Subject = "Project Successfully Created"
$emailMessage.Attachments.Add($sourcedir + $proj.name)

$emailMessage.IsBodyHtml = $true
$emailMessage.Body = @"
<p>A CSV has been created and processed with information containing project    . </p>
"@

$SMTPClient = New-Object System.Net.Mail.SmtpClient( $emailSmtpServer ,     $emailSmtpServerPort )

$SMTPClient.Send( $emailMessage )

}