Відмінності між версіями «IMAP»

12 420 байтів додано ,  8 років тому
м
Відкинути редагування 46.118.18.243 до зробленого Tigga
м (Відкинути редагування 46.118.18.243 до зробленого Tigga)
* (6) Виконання команди <code>CLOSE</code> або невдала команда <code>SELECT</code> або <code>EXAMINE</code>
* (7) Виконання команди <code>LOGOUT</code>, закриття сервера, або переривання з'єднання
== Команди протоколу IMAP ==
''алала''
 
; LOGIN: Дозволяє клієнту при реєстрації на сервері IMAP використовувати ідентифікатор користувача та пароль у звичайному текстовому вигляді. Це не найкращий метод, але іноді це єдина можливість підключитися до сервера.
 
; AUTHENTICATE: Дозволяє клієнту використовувати при реєстрації на сервері IMAP альтернативні методи перевірки автентичності. Індивідуальна перевірка справжності користувачів не є обов'язковою і підтримується не всіма серверами IMAP. До того ж реалізації такої перевірки можуть розрізнятися залежно від сервера. Коли клієнт видає команду <code>AUTHENTICATE</code>, сервер відповідає на неї рядком виклику в кодуванні [[base64]]. Далі клієнт повинен відправити відповідь на виклик сервера про перевірку справжності, також закодований base64. Якщо на сервері не підтримується метод перевірки автентичності, запропонований клієнтом, він включає в свою відповідь слово <code>NO</code>. Після цього клієнт повинен продовжити переговори з узгодження методу перевірки автентичності. Якщо всі спроби визначити метод перевірки автентичності зазнали невдачі, то клієнт робить спробу зареєструватися на сервері допомогою команди <code>LOGIN</code>.
 
; CLOSE: Закриває поштову скриньку. Коли поштова скринька закритий, то всі повідомлення, помічені прапором <code>\DELETED</code>, фізично видаляються з нього. Не має параметрів.
 
; LOGOUT: Завершує сеанс для поточного ідентифікатора користувача і закриває всі відкриті поштові скриньки. Якщо які-небудь повідомлення були помічені прапором <code>\deleted</code>, то за допомогою цієї команди вони будуть фізично видалені з поштової скриньки.
 
; CREATE: Створює новий поштову скриньку. Ім'я та місце розташування нових поштових скриньок визначаються відповідно до загальних специфікаціями сервера.
 
; DELETE: Застосовується до поштових скриньок. Сервер IMAP при отриманні цієї команди спробує видалити поштову скриньку з ім'ям, зазначеним в якості аргументу команди. Повідомлення видаляються разом з ящиками і відновленню не підлягають.
 
; RENAME: Змінює ім'я поштової скриньки. Ця команда має два параметри - ім'я поштової скриньки, який потрібно перейменувати, і нове ім'я поштової скриньки.
 
; SUBSCRIBE: Додає поштову скриньку в список активних ящиків клієнта. В цей команді використовується тільки один параметр - ім'я поштової скриньки, який потрібно внести в список. Поштова скринька не обов'язково повинен існувати, щоб його можна було додати до списку активних ящиків - це дозволяє додавати в список активних ящиків ящики, які ще не створені, або видаляти їх, якщо вони порожні.
 
; UNSUBSCRIBE: Видаляє поштові скриньки зі списку активних. У ній так само використовується один параметр - ім'я поштової скриньки, який видаляється зі списку активних ящиків клієнта. При цьому сам по собі поштову скриньку не видаляється.
 
; LIST: Отримати список всіх поштових скриньок клієнта; має два параметри.
 
; LSUB: На відміну від команди <code>LIST</code> використовується для отримання списку ящиків, активізованих командою <code>SUBSCRIBE </ code>. Параметри - такі ж, як у <code>LIST</code>.
 
; STATUS: Формує запит про поточний стан поштової скриньки. Першим параметром для цієї команди є ім'я поштової скриньки, до якого вона застосовується. Другий параметр - це список критеріїв, за якими клієнт хоче отримати інформацію. Команда <code>STATUS</code> може використовуватися для отримання інформації про стан поштової скриньки без його відкриття за допомогою команд <code>SELECT</code> або <code>EXAMINE</code>.
 
: Користувач може одержати інформацію за критеріями:
: * <code>MESSAGES</code> - загальне число повідомлень в поштовій скриньці
: * <code>RECENT</code> - число повідомлень з прапором <code>\recent</code>
: * <code>UIDNEXT</code> - ідентифікатор UID, який буде призначений новим повідомленням
: * <code>UIDVALIDITY</code> - унікальний ідентифікатор поштової скриньки
: * <code>UNSEEN</code> - число повідомлень без прапора <code>\seen</code>
 
; APPEND: Додає повідомлення в кінець вказаного поштової скриньки. В якості аргументів указуються ім'я ящика, прапори повідомлення (не обов'язково), мітка часу (не обов'язково) і саме повідомлення - заголовок і тіло.
 
: Є наступні прапори повідомлень:
 
: * <code>\Seen</code> - прочитано
: * <code>\Answered</code> - написана відповідь
: * <code>\Flagged</code> - термінове
: * <code>\Deleted</code> - позначено для видалення
: * <code>\Draft</code> - чернетка
: * <code>\Recent</code> - нове повідомлення, воно надійшло у поштову скриньку після закінчення минулого сеансу
 
: Якщо в команді вказані прапори, то вони встановлюються для доданого повідомлення. У будь-якому випадку для повідомлення встановлюється прапор <code>\Recent</code>.
 
: Якщо в команді задана мітка часу, то цей час буде встановлено в якості часу створення повідомлення, в іншому випадку за час створення приймається поточний час.
 
: Оскільки повідомлення складається не з одного рядка, використовуються літерали.
 
: Приклад:
<pre>
C A003 APPEND saved-messages (\ Seen) {247}
S + Ready for literal data
C Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)
C From: Fred Foobar <foobar@Blurdybloop.COM>
C Subject: afternoon meeting
C To: mooch@owatagu.siam.edu
C Message-Id: <B27397-0100000@Blurdybloop.COM>
C
C Hello Joe, do you think we can meet at 3:30 tomorrow?
S A003 OK APPEND completed
</pre>
 
: Розширення <code>MULTIAPPEND</code>, описане в RFC 3502, дозволяє однією командою додавати в поштову скриньку кілька повідомлень.
 
; CHECK: Встановлює контрольну точку в поштовій скриньці. Будь-які операції, такі, наприклад, як запис даних з пам'яті сервера на його жорсткий диск, повинні виконуватися при відповідному стані поштової скриньки. Саме для перевірки цілісності поштової скриньки після дискових та інших подібних їм операцій і застосовується команда <code>CHECK</code>. Ця команда використовується без параметрів.
 
; EXPUNGE: Видаляє з поштової скриньки всі повідомлення, помічені прапором <code>\DELETED</code>, при цьому поштова скринька не закривається. Відповідь сервера на команду <code>EXPUNGE</code> представляє собою звіт про новий стан поштової скриньки.
 
; SEARCH: Пошук повідомлень за критеріями в активному поштовій скриньці з подальшим відображенням результатів у вигляді номера повідомлення.
 
: Можливий пошук повідомлень, в тілі яких є певна текстовий рядок, або мають певний прапор, або отриманих до певної дати і т. д.
 
; FETCH: Отримати текст поштового повідомлення. Команда застосовується тільки для відображення повідомлень. На відміну від POP3, клієнт IMAP не зберігає копію повідомлення на клієнтському ПК.
 
; STORE: Змінює інформацію про повідомлення.
 
; COPY: Копіює повідомлення з однієї поштової скриньки в інший.
 
; UID: Використовується в зв'язці з командами <code>FETCH</code>, <code>COPY</code>, <code>STORE</code> або <code>SEARCH</code>. З її допомогою в цих командах можна використовувати реальні ідентифікаційні номери UID замість послідовності чисел з діапазону номерів повідомлень.
 
; CAPABILITY: Запит у сервера IMAP інформацію про його можливості.
 
; NOOP: Команда нічого не робить. Вона може застосовуватися для підтримки активності під час сеансу для того, щоб сеанс не припинився по таймеру інтервалу очікування. Відповідь сервера на команду <code>NOOP</code> завжди повинен бути позитивним. Так як сервер часто у відповіді повертає стан виконання тієї чи іншої команди, то <code>NOOP</code> цілком можна використовувати як тригер для періодичного запиту про стан сервера.
 
== '''Посилання''' ==
1025

редагувань