FOLD
Engenharia · Padrões

Padrões cumpridos.Lacunas apontadas.

Cada protocolo que o FOLD fala é definido em uma RFC. Esta página lista aquelas pelas quais um cliente de e-mail é avaliado e diz, para cada uma, o que o código faz hoje: implementado, implementado em parte, pendente ou deixado de fora de propósito, e por quê.

Verificado contra o código em 2026-09-23

Implementado
58
Implementado e em uso.
Parcial
8
Uma parte funciona; a nota diz qual.
Pendente
10
Ainda não implementado.
Descartado
6
Não implementado de propósito; a nota explica o motivo.

Formato da mensagem

Como uma mensagem é montada, lida e exibida.

RFCPadrãoStatusNo FOLD
RFC 5322Internet Message FormatImplementadoRigoroso ao escrever; ao ler, tolerante a quebras de linha isoladas, cabeçalhos de 8 bits e variantes de data.
RFC 2045-2049MIMEImplementadoO FOLD baixa a mensagem inteira e monta a árvore MIME no dispositivo.
RFC 2047MIME Encoded-WordsImplementadoTexto não ASCII nos cabeçalhos, decodificado e codificado.
RFC 2231MIME Parameter Value and Encoded Word ExtensionsParcialNomes de arquivo longos e não ASCII são lidos; ao enviar, o FOLD ainda não os escreve nessa forma.
RFC 2183Content-DispositionImplementadoEm linha ou como anexo, e o nome do arquivo.
RFC 2387multipart/relatedImplementadoMensagens com imagens incorporadas, lidas e escritas.
RFC 2392Content-ID and Message-ID URLsImplementadoLinks cid: para imagens incorporadas são resolvidos dentro da mensagem.
RFC 6532Internationalized Email HeadersImplementadoCabeçalhos UTF-8 são sempre lidos; o FOLD só os escreve para endereços internacionais e só quando o servidor oferece SMTPUTF8 ou UTF8=ACCEPT.desde 2026-09-21
RFC 3676The Text/Plain Format and DelSp ParametersPendenteTexto format=flowed ainda não é reformatado, e o FOLD não o envia.
RFC 2369List Commands in Header FieldsImplementadoList-Unsubscribe como ação: o FOLD envia ele mesmo a solicitação por e-mail; links da web abrem no navegador.
RFC 2919List-IdImplementadoReconhece listas de e-mails, para que as quebras de assinatura típicas delas não apareçam como falsificações.
RFC 8058One-Click UnsubscribePendenteO cabeçalho é reconhecido, mas o FOLD não envia a solicitação de um clique; o cancelamento da inscrição é feito por e-mail ou pela página web.
RFC 8098Message Disposition NotificationParcialO FOLD pode pedir uma confirmação de leitura ao enviar, mas de propósito nunca envia uma.

Leitura e sincronização (IMAP)

O FOLD pergunta ao servidor o que ele suporta, e pergunta de novo após o início de sessão; só ativa cada extensão se o servidor a anunciar e, caso contrário, recorre ao caminho mais simples.

RFCPadrãoStatusNo FOLD
RFC 3501IMAP4rev1ImplementadoA base que todo servidor suporta, incluindo STARTTLS, sem nunca recorrer a uma conexão sem criptografia.
RFC 9051IMAP4rev2DescartadoReconhecido, não ativado: nenhum servidor do grupo-alvo o exige; o FOLD usa as extensões do rev1 em vez disso.
RFC 2177IDLEImplementadoO FOLD mantém IDLE na caixa de entrada de cada conta e o renova a cada 25 minutos; as outras pastas são consultadas periodicamente, no iPhone e no iPad só enquanto o app está aberto.
RFC 4315UIDPLUSImplementadoUID EXPUNGE, para que o FOLD só remova as próprias mensagens.
RFC 6851MOVEImplementadoCom COPY e EXPUNGE como alternativa; depois de um MOVE, o FOLD verifica o que ficou na origem.
RFC 7162CONDSTORE and QRESYNCImplementadoSincronização incremental, incluindo VANISHED (EARLIER).
RFC 5161ENABLEImplementadoUma ativação só vale depois que o servidor a confirma com ENABLED.
RFC 6154SPECIAL-USEImplementadoOs papéis das pastas vêm das marcações do servidor, nomes comuns servem só como alternativa, e pastas ausentes são criadas com seu papel.
RFC 9208QUOTAImplementadoO uso da caixa postal é exibido no Mac.
RFC 7888LITERAL+ and LITERAL-ImplementadoMenos idas e voltas ao enviar dados ao servidor.
RFC 4959SASL-IRImplementadoInício de sessão em uma só ida e volta.
RFC 5530IMAP Response CodesImplementadoO FOLD distingue uma senha errada de um servidor temporariamente indisponível.
RFC 4731ESEARCHImplementadoResultados compactos para a busca no servidor no iPhone e no iPad; servidores sem ESEARCH recebem o SEARCH clássico.desde 2026-09-21
RFC 5258LIST-EXTENDEDImplementadoPastas e seus papéis em um só comando.desde 2026-09-21
RFC 5819LIST-STATUSImplementadoContadores das pastas no mesmo LIST, sem selecionar cada pasta.desde 2026-09-21
RFC 6855UTF8=ACCEPTImplementadoNomes de pasta e cabeçalhos em UTF-8; a codificação dos nomes de pasta é trocada em um único ponto.desde 2026-09-21
RFC 2342NAMESPACEPendenteA capacidade é reconhecida, mas o comando nunca é enviado.
RFC 2971IDPendenteAlguns servidores do Yahoo o pedem antes do início de sessão.
RFC 4978COMPRESS=DEFLATEPendenteAdiado: requer um flush parcial que o framework Compression da Apple não oferece; o caminho previsto é usar a zlib diretamente.
RFC 8474OBJECTIDPendenteIDs estáveis mesmo após renomeações; ainda não usado.
RFC 8970PREVIEWPendenteAs prévias são geradas no dispositivo a partir da mensagem carregada.
RFC 8508REPLACEPendenteOs rascunhos são salvos no dispositivo durante a escrita e enviados ao servidor uma vez, ao fechar o editor de mensagem; uma cópia anterior no servidor não é substituída.
RFC 3516BINARYDescartadoNão é necessário: o FOLD decodifica a árvore MIME por conta própria.
RFC 5256SORT and THREADDescartadoO FOLD monta as conversas localmente a partir de References e In-Reply-To, igual em todos os servidores.
RFC 5465NOTIFYDescartadoQuase nenhum servidor do grupo-alvo o oferece.

Envio (SMTP)

Como o FOLD entrega uma mensagem ao seu servidor.

RFCPadrãoStatusNo FOLD
RFC 5321Simple Mail Transfer ProtocolImplementadoIncluindo dot-stuffing correto.
RFC 6409Message Submission for MailImplementadoSempre com início de sessão antes do envio, na porta 587 ou 465.
RFC 4954SMTP Service Extension for AuthenticationImplementadoInício de sessão com resposta inicial e interrupção limpa quando um método falha.
RFC 1870SIZEImplementadoO tamanho é anunciado quando o servidor informa um limite, e uma mensagem acima dele é recusada antes do envio.
RFC 2920PIPELININGImplementadoRemetente e destinatários em grupos; DATA só depois de todas as respostas do envelope, para que a mensagem vá para todos os destinatários ou para nenhum.desde 2026-09-21
RFC 61528BITMIMEImplementadoDeclarado quando a mensagem contém dados de 8 bits; sem suporte do servidor, o FOLD não envia 8 bits.desde 2026-09-21
RFC 6531SMTPUTF8ImplementadoEndereços internacionais e cabeçalhos UTF-8; se o servidor não o suporta, o FOLD para com uma mensagem clara.desde 2026-09-21
RFC 3463Enhanced Mail System Status CodesImplementadoAs recusas são explicadas em palavras claras em vez de um código do servidor (com a RFC 2034).desde 2026-09-21
RFC 3461Delivery Status NotificationsPendenteRelatórios de entrega sob demanda não estão implementados.
RFC 3030CHUNKING (BDAT)DescartadoReconhecido, não usado; DATA cobre todos os casos.
RFC 8689REQUIRETLSDescartadoQuase nenhum servidor o suporta ainda.

Conexão e início de sessão

Criptografia da conexão, métodos de início de sessão e configuração automática.

RFCPadrãoStatusNo FOLD
RFC 8314Cleartext Considered ObsoleteImplementadoO FOLD nunca se conecta sem TLS e prefere TLS implícito quando o DNS oferece os dois.
RFC 3207SMTP over TLS (STARTTLS)ImplementadoSe o servidor não oferece STARTTLS, o FOLD para em vez de enviar sem criptografia.
RFC 7817TLS Server Identity Check for EmailImplementadoA cadeia de certificados e o nome de host são verificados pelo sistema contra o servidor configurado.
RFC 4422SASLImplementadoEstrutura para todos os métodos de início de sessão abaixo.
RFC 7677SCRAM-SHA-256ParcialPreferido no envio (SMTP), com verificação da assinatura do servidor; o início de sessão IMAP ainda usa PLAIN.
RFC 4616PLAINImplementadoSó dentro de TLS, nunca sem criptografia (de propósito, mais rigoroso que a RFC).
RFC 6749OAuth 2.0ImplementadoInício de sessão com o Google; XOAUTH2 para IMAP e SMTP, o método que os grandes provedores usam.
RFC 7636PKCEImplementadoEm todo início de sessão OAuth, só S256; nenhum segredo de cliente no app.
RFC 8252OAuth 2.0 for Native AppsImplementadoInício de sessão no navegador do sistema, nunca em uma visualização web incorporada.
RFC 7628OAUTHBEARERPendenteNenhum provedor do grupo-alvo o exige; o XOAUTH2 os atende.
RFC 6186SRV Records for Email Submission and AccessImplementadoUma das fontes da configuração automática.

Criptografia e assinaturas

S/MIME e OpenPGP, e os componentes por trás deles.

RFCPadrãoStatusNo FOLD
RFC 5652Cryptographic Message SyntaxImplementadoO formato de contêiner do S/MIME: implementação própria no iPhone e no iPad, a do sistema no Mac.
RFC 8551S/MIME 4.0ParcialAssinar, verificar, criptografar e descriptografar com certificados RSA e AES-CBC; o AES-GCM, que o S/MIME 4.0 exige, ainda não é suportado.
RFC 1847Security Multiparts for MIMEImplementadoO envelope de e-mails assinados e criptografados.
RFC 3565AES in CMSImplementadoAES para a criptografia S/MIME.
RFC 5754SHA-2 in CMSImplementadoSHA-256 e superiores para assinaturas S/MIME.
RFC 5280X.509 CertificatesImplementadoOs caminhos de certificação são verificados pela avaliação de confiança do sistema; verificações de revogação são opcionais.
RFC 9580OpenPGPParcialChaves da versão 4 (Ed25519, Curve25519, RSA) com AES-256 e verificação de integridade, testadas com o gpg; chaves da versão 6 e criptografia AEAD ainda não são suportadas.
RFC 6637Elliptic Curve Cryptography in OpenPGPImplementadoChaves de criptografia Curve25519, o formato que o FOLD cria e usa.
RFC 3156MIME Security with OpenPGPImplementadoPGP/MIME para e-mails assinados e criptografados.
RFC 3394AES Key WrapImplementadoEncapsula a chave de sessão para destinatários Curve25519.
RFC 7253OCB Authenticated EncryptionImplementadoImplementação própria sobre o AES do sistema, verificada com os vetores de teste da RFC; usada para ler mensagens do GnuPG criptografadas com OCB.
RFC 9106Argon2ImplementadoDerivação de chaves do Modo Fortress, verificada com o vetor de teste da RFC.
RFC 7693BLAKE2ImplementadoDentro do Argon2, implementação própria verificada com o openssl.
RFC 5869HKDFImplementadoDo CryptoKit, para o Modo Fortress.

Autenticidade do remetente

Como o FOLD verifica quem realmente enviou uma mensagem.

RFCPadrãoStatusNo FOLD
RFC 6376DKIM SignaturesImplementadoVerificação no dispositivo: o hash do corpo e a assinatura são recalculados.
RFC 8463Ed25519 for DKIMImplementadoVerificado com a mensagem de exemplo da RFC.
RFC 8301DKIM Crypto Algorithm UsageImplementadoChaves com menos de 1024 bits e assinaturas rsa-sha1 são rejeitadas.
RFC 8601Authentication-ResultsParcialSó valem resultados carimbados com o nome de host IMAP da conta; provedores que usam outro nome, entre eles o Gmail, ainda não geram resultado.
RFC 7489DMARCParcialO FOLD usa o resultado DMARC que o seu servidor registrou e verifica o alinhamento por conta própria; a política publicada só é consultada antes de exibir o logotipo de uma marca.
RFC 7208SPFParcialO SPF precisa do endereço IP de envio; o FOLD lê o resultado que o seu servidor registrou.
BIMIBrand Indicators for Message Identification (Internet-Draft)ImplementadoLogotipo só depois que o DMARC passa com uma política restritiva e com um certificado de marca verificado; baixado uma vez por mensagem e guardado com ela.
RFC 9399Logotypes in X.509 CertificatesImplementadoO logotipo da marca vem do certificado de marca verificado.
Método

Como esta página é mantida

O status vem das regras de conformidade do FOLD e de uma auditoria da pilha de e-mail em relação às RFCs. Cada linha é verificada contra o código-fonte antes de aparecer aqui, e a página muda quando o código muda. No total, o código cita 95 RFCs diferentes; esta página mostra as que decidem se um cliente de e-mail funciona bem com servidores reais.