Powershell SMT list queue mail subjects
Скрпит пробежиться по очередям всех smtp, и повыдерает из всех писем их subject и затем выдаст общую статистику
Может быть молезным в случае если необходимо ответить на вопрос: какими письмами прямо сейчас забит SMTP
$reader = New-Object -ComObject ADODB.Stream
$mail = New-Object -ComObject CDO.Message
$reader.Open()
$emls = Get-ChildItem -Path C:\inetpub\*\Queue\*.EML
# $emls = $emls | Select-Object -First 10000
$emls.Count
$items = @()
foreach($eml in $emls) {
try {
if (-not (Test-Path $eml.FullName)) {
continue
}
$reader.LoadFromFile($eml.FullName)
$mail.DataSource.OpenObject($reader,"_Stream")
$subject = $mail.Subject.Trim()
if ($subject -like "Ваше резюме «*» получило просмотры в базе резюме") {
$subject = "Ваше резюме «*» получило просмотры в базе резюме"
}
elseif ($subject -like "Ваше резюме успішно доставлено в компанію «*»") {
$subject = "Ваше резюме успішно доставлено в компанію «*»"
}
elseif ($subject -like "Найдены подходящие кандидаты на вакансию *") {
$subject = "Найдены подходящие кандидаты на вакансию *"
}
elseif ($subject -like "Компанія * переглянула ваш відгук на вакансію") {
$subject = "Компанія * переглянула ваш відгук на вакансію"
}
elseif ($subject -like "Ваше резюме успешно доставлено в компанию «*»") {
$subject = "Ваше резюме успешно доставлено в компанию «*»"
}
elseif ($subject -like "Ваше резюме успешно доставлено в компанию «*»") {
$subject = "Ваше резюме успешно доставлено в компанию «*»"
}
elseif ($subject -like "Новые резюме в базе rabota.ua *") {
$subject = "Новые резюме в базе rabota.ua *"
}
elseif ($subject -like "Компанія * запросила вас на співбесіду на вакансію *") {
$subject = "Компанія * запросила вас на співбесіду на вакансію *"
}
elseif ($subject -like "Ваше резюме успешно доставлено в компанию *") {
$subject = "Ваше резюме успешно доставлено в компанию * на вакансию *"
}
elseif ($subject -like "Ваше резюме успішно доставлено в компанію *") {
$subject = "Ваше резюме успішно доставлено в компанію *"
}
elseif ($subject -like "У вас есть новые сообщения в чате от *") {
$subject = "У вас есть новые сообщения в чате от *"
}
elseif ($subject -like "* просмотрела ваш отклик на вакансию") {
$subject = "* просмотрела ваш отклик на вакансию"
}
elseif ($subject -like "Завершена вакансія *, на яку ви відправляли резюме.") {
$subject = "Завершена вакансія *, на яку ви відправляли резюме."
}
elseif ($subject -like "*, посмотрите новые вакансии которые могут быть вам интересны за последние 7 дней") {
$subject = "*, посмотрите новые вакансии которые могут быть вам интересны за последние 7 дней"
}
elseif ($subject -like "* переглянула ваш відгук на вакансію") {
$subject = "* переглянула ваш відгук на вакансію"
}
elseif ($subject -like "* отримало перегляди в базі резюме") {
$subject = "* отримало перегляди в базі резюме"
}
elseif ($subject -like "*, посмотрите новые вакансии которые могут быть вам интересны за последние месяц") {
$subject = "*, посмотрите новые вакансии которые могут быть вам интересны за последние месяц"
}
elseif ($subject -like "*, посмотрите новые вакансии которые могут быть вам интересны за последние 14 дней") {
$subject = "*, посмотрите новые вакансии которые могут быть вам интересны за последние 14 дней"
}
elseif ($subject -like "* пригласила вас на собеседование на вакансию *") {
$subject = "Компания * пригласила вас на собеседование на вакансию *"
}
elseif ($subject -like "* відмовила вам у співбесіді на вакансію *") {
$subject = "Компанія * відмовила вам у співбесіді на вакансію *"
}
elseif ($subject -like "Дополнительные вакансии *") {
$subject = "Дополнительные вакансии *"
}
elseif ($subject -like "У вас є нові повідомлення в чаті від *") {
$subject = "У вас є нові повідомлення в чаті від *"
}
elseif ($subject -like "Новий вiдгук на вашу вакансию *") {
$subject = "Новий вiдгук на вашу вакансию *"
}
elseif ($subject -like "Новый отклик на вашу вакансию *") {
$subject = "Новый отклик на вашу вакансию *"
}
elseif ($subject -like "* предлагает Вам ознакомиться со своей вакансией") {
$subject = "* предлагает Вам ознакомиться со своей вакансией"
}
elseif ($subject -like "* просмотрела ваш отклик на вакансию *") {
$subject = "Компания * просмотрела ваш отклик на вакансию *"
}
elseif ($subject -like "* отказала вам в собеседовании на вакансию *") {
$subject = "Компания * отказала вам в собеседовании на вакансию *"
}
elseif ($subject -like "* переглянула ваш відгук на вакансію *") {
$subject = "Компанія * переглянула ваш відгук на вакансію *"
}
#Write-Host "$($eml.Directory.Parent.Name): $($mail.Subject)"
$items += New-Object PSObject -Property @{
smtp = $eml.Directory.Parent.Name
subject = $subject
}
} catch {}
Write-Progress -Activity 'Title' -Status $eml.FullName -PercentComplete ( [Array]::IndexOf($emls, $eml) / $emls.Count * 100 )
}
$items | Group-Object subject | Sort-Object Count -Descending | Select-Object Count, Name | Format-Table -AutoSize
$emls.Count