Chilkat IMAP - как проверить имя почтового ящика «Отправленные»

Как проверить, как называется почтовый ящик «Отправленные»? Иногда мне приходится использовать «INBOX.Sent», иногда «Отправлено», Я не могу предположить, что у меня должен быть способ проверить текущее имя.

У вас есть способ проверить это с помощью Чилката?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
203
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Почтовые ящики содержат такие флаги, как «\Sent», «\Trash», «\Junk» и т. д., чтобы указать почтовые ящики специального назначения.

См. этот пример: https://www.example-code.com/csharp/imap_find_sent_mailbox.asp

Я пытаюсь найти все типы флагов Я прочитал эту документацию tools.ietf.org/html/rfc3501 И я не могу найти список всех возможных флагов Не могли бы вы указать мне такой список?

Michał Lipok 28.12.2020 14:08

Основной документ протокола IMAP — RFC3501. Раздел 2.3.2 описывает стандартные флаги, с которыми должна работать каждая реализация IMAP. Конечно, использование нестандартных флагов не ограничено...

Chilkat Software 30.12.2020 17:33
Ответ принят как подходящий

Наконец я получаю ответ/решение моей проблемы: Я использую Этот пример (PowerShell) Найдите почтовый ящик IMAP «Отправленные»

Вот моя версия:

Add-Type -Path "c:\PS1\ChilkatDotNet48_x64.dll"
$glob = New-Object Chilkat.Global
$success = $glob.UnlockBundle("Anything for 30-day trial")
if ($success -ne $true) {
    $($glob.LastErrorText)
    exit
}

$status = $glob.UnlockStatus
if ($status -eq 2) {
    $("Unlocked using purchased unlock code.")
}
else {
    $("Unlocked in trial mode.")
}
$($glob.LastErrorText)


$imap = New-Object Chilkat.Imap

$imap.Ssl = $true
$imap.Port = 993
# connect to server
$success = $imap.Connect("******")
if ($success -ne $true) {
    $($imap.LastErrorText)
    exit
}

# Login or authenticate in some way..
$success = $imap.Login("******","******")
if ($success -ne $true) {
    $($imap.LastErrorText)
    exit
}

# Get the list of mailboxes.
$refName = ""
$wildcardedMailbox = "*"

$mboxes = $imap.ListMailboxes($refName,$wildcardedMailbox)
if ($imap.LastMethodSuccess -eq $false) {
    $($imap.LastErrorText)
    exit
}

# The mailbox with the "/Sent" flag is the "Sent" mailbox.
# Likewise for Junk and Trash..
$i = 0
$("")
$("")
while ($i -lt $mboxes.Count) {
    if ($mboxes.GetName($i) -eq "Sent") {
        $("Sent mailbox (1): " + $mboxes.GetName($i))
        $(" >> mboxes.GetNthFlag(i,0) = " + $mboxes.GetNthFlag($i, 0))
        $(" >> mboxes.GetNthFlag(i,1) = " + $mboxes.GetNthFlag($i, 1))
        $("")
    }
    
    if ($mboxes.HasFlag($i,"\Sent") -eq $true) {
        $("Sent mailbox (2): " + $mboxes.GetName($i))
        $(" >> mboxes.GetNthFlag(i,0) = " + $mboxes.GetNthFlag($i, 0))
        $(" >> mboxes.GetNthFlag(i,1) = " + $mboxes.GetNthFlag($i, 1))
        $("")
    }

    if ($mboxes.HasFlag($i,"\Junk") -eq $true) {
        $("Junk mailbox: " + $mboxes.GetName($i))
        $(" >> mboxes.GetNthFlag(i,0) = " + $mboxes.GetNthFlag($i, 0))
        $(" >> mboxes.GetNthFlag(i,1) = " + $mboxes.GetNthFlag($i, 1))
        $("")
    }

    if ($mboxes.HasFlag($i,"\Trash") -eq $true) {
        $("Trash mailbox: " + $mboxes.GetName($i))
        $(" >> mboxes.GetNthFlag(i,0) = " + $mboxes.GetNthFlag($i, 0))
        $(" >> mboxes.GetNthFlag(i,1) = " + $mboxes.GetNthFlag($i, 1))
        $("")
    }

    $i = $i + 1
}

# Disconnect from the IMAP server.
$success = $imap.Disconnect()

И мои результаты:

Junk mailbox: Junk
 >> mboxes.GetNthFlag(i,1)=\HasNoChildren
 >> mboxes.GetNthFlag(i,2)=\Junk

Sent mailbox (1): Sent
 >> mboxes.GetNthFlag(i,1)=\HasChildren
 >> mboxes.GetNthFlag(i,2)=

Вывод: это означает, что иногда Sent следует распознавать по имени, а не по флагу.

кстати. В польской версии ThunderBird этот почтовый ящик имеет другое имя «Wysłane», но расположение: аналогично «imap://[email protected]/Sent».

Поскольку я скриптер/разработчик AutoIt, я рад добавить новую ссылку на официальный пример AutoIt Chilkat: example-code.com/autoit/imap_listMailboxes.asp

Michał Lipok 03.06.2022 10:22

Другие вопросы по теме