По умолчанию модули imap не собирается, нужно разрешить его сборку при конфигурировании параметром –with-imap.
worker_processes 1; # рекомендуется установить равным числу CPU error_log /var/log/nginx/error.log info; imap { server_name mail.example.ru; auth_http localhost:9000/cgi-bin/nginxauth.cgi; pop3_capabilities "LAST" "TOP" "USER" "PIPELINING" "UIDL"; imap_capabilities "IMAP4rev1" "UIDPLUS" "IDLE" "LITERAL+" "QUOTA"; server { listen 110; protocol pop3; auth plain apop cram-md5; proxy on; proxy_pass_error_message on; } server { listen 143; protocol imap; proxy on; } }
syntax: auth [plain] [apop] [cram-md5]
default: plain
context: imap, server
Директива задаёт разрешенные методы аутентификации в pop3:
syntax: imap_capabilities «capability1» [«capability2» .. «capabilityN»]
default: «IMAP4» «IMAP4rev1» «UIDPLUS»
context: imap, server
Директива позволяет указать список расширений протокола IMAP, выдаваемый клиенту по команде CAPABILITY. К этому списку автоматически добавляется STARTTLS если включена директива starttls
В данной директиве имеет смысл указать расширения поддерживаемых pop3-бэкендами на которые проксируются клиенты (если эти расширения относятся к командам используемым после авторизации, когда nginx прозрачно проксирует подключение клиента на бэкенд).
Текущий список стандартизованных расширений опубликован на www.iana.org.
syntax: imap_client_buffer размер
default: 4k/8k
context: imap, server
Задаёт размер буфера, используемого для чтения imap комманд??? По умолчанию размер буфера равен размеру страницы, в зависимости от платформы это или 4K, или 8K.
syntax: listen адрес:порт [bind]
default: нет
context: server
Директива задаёт адрес и порт, на которых сервер принимает запросы. Можно указать только порт, кроме того, адрес может быть именем сервера, например:
listen 127.0.0.1:110; listen *:110; listen 110; # то же самое что *:110 listen localhost:110;
Разные виртуальные сервера должны слушать разные пары ip и port.
syntax: pop3_capabilities «capability1» [«capability2» .. «capabilityN»]
default: «TOP» «USER» «UIDL»
context: imap, server
Директива позволяет указать список расширений протокола POP3, выдаваемый клиенту по команде CAPA. К этому списку автоматически добавляются методы авторизации, указанные в директиве auth auth (SASL capability) и STLS если включена директива starttls
Текущий список стандартизованных расширений опубликован на www.iana.org.
syntax: protocol pop3|imap
default: imap
context: server
syntax: server { … }
default: нет
context: imap
Директива задаёт конфигурацию для виртуального сервера.
syntax: server_name fqdn_server_host
default: имя хоста, полученное через gethostname()
context: imap, server
Задает имя сервера, используемое:
syntax: so_keepalive on|off
default: off
context: imap, server
Устанавливать опцию сокета SO_KEEPALIVE при подключении к imap/pop3 бэкенду. Во FreeBSD keepalive используются по умолчанию для всех соединений и необходимости явно задавать это через setsockopt нет (см. sysctl net.inet.tcp.always_keepalive).
syntax: timeout время
default: timeout 60
context: imap, server