ClearMailboxIMAP.ps1

По просьбе Андрея Бешкова еще версия для протокола IMAP🙂

ClearMailBoxIMAP.ps1
############################################################################## ## ## Script name: ClearMailboxIMAP.ps1 ## ## Description: Removes all messages from mailbox by IMAP protocol ## By default only INBOX folder is cleared ## ## Usage: .\ClearMailboxIMAP.ps1 -server myserver -user ivanov@mydomain.local -password pass ## ## Date: 29.11.2007 ## ## Author: Gusev Vasily ## ## Url: https://xaegr.wordpress.com ## ############################################################################## param([string]$server, [int]$port=143, [string]$username, [string]$password, [string]$folder="INBOX") function write-stream([System.Net.Sockets.NetworkStream]$n, [String]$s) { "> $s" $arr = "$s`r`n".ToCharArray() $n.Write($arr, 0, $arr.Length) } $Client = New-Object System.Net.Sockets.TcpClient $Client.Connect($server,$port) $Stream = $Client.GetStream() $Reader = New-Object System.IO.StreamReader($Client.GetStream()) $r = $Reader.ReadLine() if ($r -notmatch "^\* OK"){throw "Unable to connect: $r"}else{$r} write-stream $Stream ". login $username $password" $r = $Reader.ReadLine() if ($r -notlike ". OK*"){throw "Unable to login: $r"}else{$r} write-stream $Stream ". status $folder (messages)" $r = $Reader.ReadLine() if ($r -match "^\* STATUS $folder \(MESSAGES (\d+)\)") { $r $msgs = $matches[1] "$msgs messages in $folder" while ($r -notmatch "^\. OK .+ completed\."){$r = $Reader.ReadLine(); $r}; $r Write-Warning "PRESS CTRL+C TO CANCEL REMOVAL!!!" Read-Host write-stream $Stream ". select $folder" while ($r -notmatch "^\. OK .+ completed\."){$r = $Reader.ReadLine(); $r}; $r write-stream $Stream ". store 1:* flags \Deleted" while ($r -notmatch "^\. OK .+ completed\."){$r = $Reader.ReadLine(); $r}; $r write-stream $Stream ". expunge" while ($r -notmatch "^\. OK .+ completed\."){$r = $Reader.ReadLine(); $r}; $r write-stream $Stream ". logout" $Reader.ReadLine() } else {throw "$r"}

Так как IMAP для меня новый протокол (в плане работы напрямую🙂 ) я не уверен что сообщения удаляются только в указанной папке🙂 Буду признателен если кто то проверит🙂

Образовывался отсюда: http://www.bobpeers.com/technical/telnet_imap.php

Опубликовано в Uncategorized. Комментарии к записи ClearMailboxIMAP.ps1 отключены
%d такие блоггеры, как: