Email 等待邮件发送,然后将其从PowerShell中的“已发送”文件夹中删除
我目前正在写一个脚本来自动发送一些邮件。 我想发送一封自动邮件,为了保持邮箱整洁,我希望这些自动邮件立即从“已发送”文件夹中删除 我已经得到了发送邮件的脚本,并且我还编写了一个功能完善的函数来清除发送的文件夹 问题是,邮件在发送时将保留在发件箱中,只有在实际发送时才进入“已发送”文件夹,但到那时,我的脚本将结束,清除功能将在未清除邮件的情况下通过 我需要一些定时器,或者如果可能的话,在邮件实际发送并存储在sent文件夹中时需要一些触发事件 代码:Email 等待邮件发送,然后将其从PowerShell中的“已发送”文件夹中删除,email,powershell,outlook-2010,outlook-redemption,Email,Powershell,Outlook 2010,Outlook Redemption,我目前正在写一个脚本来自动发送一些邮件。 我想发送一封自动邮件,为了保持邮箱整洁,我希望这些自动邮件立即从“已发送”文件夹中删除 我已经得到了发送邮件的脚本,并且我还编写了一个功能完善的函数来清除发送的文件夹 问题是,邮件在发送时将保留在发件箱中,只有在实际发送时才进入“已发送”文件夹,但到那时,我的脚本将结束,清除功能将在未清除邮件的情况下通过 我需要一些定时器,或者如果可能的话,在邮件实际发送并存储在sent文件夹中时需要一些触发事件 代码: 函数发送 { $mItem=$ol.Create
函数发送
{
$mItem=$ol.CreateItem(0)
$mail=$routlook.GetRDOObjectFromOutlookObject($mItem)
$mail.To=”users@mail.com"
$mail.Subject=“某个主题”
$mail.Body=“一些身体材料”
$mail.Attachments.Add(“”)
$mail.Send()
清楚的
}
功能清晰
{
$SItems=$sent.Items
foreach($s,单位:$SItems)
{
如果($s.To-eq“'user@mail.com'")
{
$s.Delete()
}
}
}
请帮帮我,谢谢;) 首先不要通过Outlook发送邮件,除非你出于某种奇怪的原因必须发送邮件。改用
发送邮件消息-发送至users@mail.com-subject“Some subject”-body“Some body stuff”-附件-SmtpServer您的\u SMTP\u主机-发件人fromuser@mail.com
将MailItem.DeleteAfterSubmit
属性设置为true-邮件发送后将永远不会移动到“已发送邮件”文件夹 这不管用。这是一个与工作相关的电子邮件脚本,因此我们的exchange服务器将由于策略原因拒绝发送邮件。这是我所能想到的唯一能够发送邮件的方法。应该仍然可以通过send Mailmessage
发送邮件-您只需知道导致拒绝的“策略”是什么,并使用适当的参数来满足它。您知道我如何在不与服务器管理员交谈的情况下找到答案吗?也许是某种逆向工程方法?或者邮件必须有多详细?从使用cmdlet开始,研究您收到的错误。如果你被困在一个你自己无法解决的问题上,问你的管理员。
function Send
{
$mItem = $ol.CreateItem(0)
$mail = $routlook.GetRDOObjectFromOutlookObject($mItem)
$mail.To = "users@mail.com"
$mail.Subject = "some subject"
$mail.Body = "some body stuff"
$mail.Attachments.Add("<path to attachment>")
$mail.Send()
Clear
}
function Clear
{
$SItems = $sent.Items
foreach($s in $SItems)
{
if( $s.To -eq "'user@mail.com'")
{
$s.Delete()
}
}
}