Два порти, два способи шифрування і одна поширена помилка — обрати несумісну пару й отримати обрив з’єднання без зрозумілого пояснення. Розберемо, що стоїть за 993 і 143, коли який потрібен і як читати відповідь сервера, якщо підключення не проходить.
Що означають 993 і 143
Порт 993 — це IMAPS: шифрування піднімається одразу, ще до того як клієнт скаже серверу бодай слово. Такий режим називають implicit TLS або просто SSL/TLS.
Порт 143 — звичайний IMAP, де з’єднання починається відкритим і переходить у шифроване командою STARTTLS. Сам по собі 143 не означає «без шифрування», але означає, що перші байти йдуть відкрито.
Практичний вибір: якщо сервер підтримує 993 — беріть 993. STARTTLS на 143 залишають для серверів, де 993 не відкрито, — таке трапляється на корпоративних поштовиках і в частини хостингів.
993 + SSL/TLS — основний варіант, підходить майже всюди.
143 + STARTTLS — коли 993 закрито.
143 без шифрування — не підтримується: пароль ішов би мережею відкритим текстом.
Чому ми не підключаємось без шифрування
IMAP без TLS передає логін і пароль відкритим текстом. Будь-який вузол на шляху — від вайфаю в кафе до транзитного провайдера — бачить їх повністю. Тому режиму «без шифрування» у формі немає взагалі, і це свідоме обмеження, а не недоробка.
З тієї ж причини немає й перемикача «не перевіряти сертифікат». Сертифікат звіряють з тим ім’ям, яке ви ввели в полі сервера: якщо сервер відрекомендувався чужим ім’ям, з’єднання припиняється, а причина потрапляє в журнал.
Як читати помилки підключення
Відповідь сервера майже завжди точно вказує, де помилка, — якщо знати, що шукати.
З’єднання закривається одразу після привітання — зазвичай обрано STARTTLS на порту 993 або SSL/TLS на 143. Порт і режим мають збігатися.
Таймаут без відповіді — порт закрито фаєрволом чи провайдером, або служба IMAP не запущена (частий випадок на Exchange).
Помилка перевірки сертифіката — ім’я в сертифікаті не збігається з уведеним. У журналі видно очікуване ім’я; зазвичай це і є правильна адреса сервера.
AUTHENTICATIONFAILED за правильного пароля — не стосується портів: або потрібен пароль застосунку, або логін без домену, або IMAP вимкнено в налаштуваннях скриньки.