SMTP#

Adiciona suporte a SMTP ao proxy de email: o Angie trata um cliente SMTP por conta própria até que o servidor de autenticação aceite o cliente e, em seguida, retransmite a sessão a um backend. Até lá, o Angie responde aos comandos HELO e EHLO e recebe as credenciais do cliente por um dos métodos listados em smtp_auth (veja Como funciona).

Ao compilar a partir do código-fonte, o módulo é compilado por padrão junto com o módulo Mail (habilitado com --with-mail); ele pode ser desabilitado com a opção de compilação --without-mail_smtp_module.

Em pacotes e imagens de nossos repositórios, o módulo está incluído na compilação.

Diretivas#

smtp_auth#

Sintaxe

smtp_auth method ...;

Padrão

smtp_auth plain login;

Contexto

mail, server

Define métodos permitidos de autenticação SASL para clientes SMTP. Os métodos suportados são:

plain

AUTH PLAIN

login

AUTH LOGIN

cram-md5

AUTH CRAM-MD5. Para que este método funcione, a senha deve ser armazenada sem criptografia.

external

AUTH EXTERNAL

xoauth2

AUTH XOAUTH2

oauthbearer

AUTH OAUTHBEARER

none

Autenticação não é necessária. O Angie ainda consulta o servidor de autenticação, depois do comando RCPT TO do cliente, para escolher o backend (veja Como funciona).

Métodos de autenticação de texto simples (AUTH PLAIN e AUTH LOGIN) estão sempre habilitados, embora se os métodos plain e login não forem especificados, AUTH PLAIN e AUTH LOGIN não serão automaticamente incluídos em smtp_capabilities.

smtp_capabilities#

Sintaxe

smtp_capabilities extension ...;

Padrão

—

Contexto

mail, server

Define a lista de extensões do protocolo SMTP que é passada para o cliente em resposta ao comando EHLO. Os métodos de autenticação especificados na diretiva smtp_auth e STARTTLS são automaticamente adicionados a esta lista dependendo do valor da diretiva starttls.

Faz sentido especificar as extensões suportadas pelo MTA para o qual os clientes são direcionados via proxy (se essas extensões estão relacionadas a comandos usados após autenticação, quando o Angie transparentemente faz proxy da conexão do cliente para o backend).

smtp_client_buffer#

Sintaxe

smtp_client_buffer tamanho;

Padrão

smtp_client_buffer 4k|8k;

Contexto

mail, server

Define o tamanho do buffer usado para ler comandos SMTP. Por padrão, o tamanho do buffer é igual a uma página de memória. Isso é 4K ou 8K, dependendo da plataforma.

smtp_greeting_delay#

Sintaxe

smtp_greeting_delay tempo;

Padrão

smtp_greeting_delay 0;

Contexto

mail, server

Permite definir um atraso antes de enviar uma saudação SMTP para rejeitar clientes que falham em aguardar pela saudação antes de enviar comandos SMTP.