Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 等待邮件发送,然后将其从PowerShell中的“已发送”文件夹中删除_Email_Powershell_Outlook 2010_Outlook Redemption - Fatal编程技术网

Email 等待邮件发送,然后将其从PowerShell中的“已发送”文件夹中删除

Email 等待邮件发送,然后将其从PowerShell中的“已发送”文件夹中删除,email,powershell,outlook-2010,outlook-redemption,Email,Powershell,Outlook 2010,Outlook Redemption,我目前正在写一个脚本来自动发送一些邮件。 我想发送一封自动邮件,为了保持邮箱整洁,我希望这些自动邮件立即从“已发送”文件夹中删除 我已经得到了发送邮件的脚本,并且我还编写了一个功能完善的函数来清除发送的文件夹 问题是,邮件在发送时将保留在发件箱中,只有在实际发送时才进入“已发送”文件夹,但到那时,我的脚本将结束,清除功能将在未清除邮件的情况下通过 我需要一些定时器,或者如果可能的话,在邮件实际发送并存储在sent文件夹中时需要一些触发事件 代码: 函数发送 { $mItem=$ol.Create

我目前正在写一个脚本来自动发送一些邮件。 我想发送一封自动邮件,为了保持邮箱整洁,我希望这些自动邮件立即从“已发送”文件夹中删除

我已经得到了发送邮件的脚本,并且我还编写了一个功能完善的函数来清除发送的文件夹

问题是,邮件在发送时将保留在发件箱中,只有在实际发送时才进入“已发送”文件夹,但到那时,我的脚本将结束,清除功能将在未清除邮件的情况下通过

我需要一些定时器,或者如果可能的话,在邮件实际发送并存储在sent文件夹中时需要一些触发事件

代码:
函数发送
{
$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()
        }
    }
}