【发布时间】:2020-07-30 06:52:38
【问题描述】:
我想通过使用 Powershell 自动执行通过 Outlook 发送邮件的过程,如果我在路径提供的特定文件夹中有很多文件,它应该从该文件夹中获取每个文件作为附件邮件。 意味着应该为该路径中的每个文件发送单独的邮件
$OL = New-Object -ComObject outlook.application
Start-Sleep 5
<#
olAppointmentItem
olContactItem
olDistributionListItem
olJournalItem
olMailItem
olNoteItem
olPostItem
olTaskItem
#>
#Create Item
$mItem = $OL.CreateItem("olMailItem")
$mItem.To = "PlayingWithPowershell@gmail.com"
$mItem.Subject = "PowerMail"
$mItem.Body = "SENT FROM POWERSHELL"
$file = "C:\Users\Desktop\Xyz"
foreach($files in Get-ChildItem $file)
{
$mItem.Attachments.Add($files)
$mItem.Send()
}
尝试过这样,但显示错误,例如“找不到成员,无法调用空值表达式,项目已被移动或删除”
请帮帮我。
【问题讨论】:
-
如果你想为每个附件发送单独的邮件,你应该每次都创建一个 new 带有属性的邮件项。但是,为什么要通过 Outlook 发送呢?
-
为什么选择 Outlook?只需使用
Send-MailMessage -
可能你应该
-filterGet-ChildItem的项目多一点,只包括-files
标签: powershell automation email-attachments