Logotipo inline-CID org (SVG->PNG) para que ele renderize no Gmail; remova o conteúdo da mensagem; preserve o caso Do domínio
- FIX (segurança): os e-mails de notificação não carregam nenhum corpo de mensagem - remover messagePreview from template vars, bookger, samples and the setting...
Variáveis de amostra do editor para modelos de notificação de mensagens perdidas
Amostras de antevisão para missed CHAT MESSAGE e SUPPORT TICKET REPLY incl. bruto vs. variantes de remetente/título html-escapado utilizadas pelos corpos canôni...
Microsoft 365 e-mail via Microsoft Graph somente aplicativo (zero por configuração de caixa de correio)
O correio Microsoft 365 agora lê/envia somente para aplicativos do Microsoft Graph (Mail.ReadWrite/Mail. Enviar permissões de aplicação) em vez de IMAP — uma ap...
Reconstruir para o modelo canônico LOAN STATUS UPDATE de lib compartilhado (9fab88c)
Reconstruir para o modelo canônico RESUME PORTAL LINK de lib compartilhado
Reconstruir para obter o modelo canônico LOAN DOCS REAdy LO (shared-lib)
Parar a serialização do xoauth2 que quebrou o cache MailCredentials Redis
MailCredentials está em cache em Redis (GenericJackson2Json). A adição `isXoauth2()` boolean getter foi serializado como uma propriedade "xoauth2", mas não tem ...
Roteie todas as mensagens de provedores de nuvem através de IMAP/SMTP com OAuth2 (XOAUTH2)
Provedores de nuvem (Microsoft 365, Exchange Online, Google Workspace, Zoho, IceWarp) Mas o resolvedor nunca credenciais IMAP/SMTP povoadas para eles, então cad...
Consentimento do lado do servidor "exibir imagens externas"
Substitui o cliente local (localStorage) recordando a escolha da imagem externa com um registo duradouro por membro. Novo RemoteImageConsentService (falha-soft ...
Escopo KamoMail caixa de correio/domínio listando para os próprios domínios do org (fuga de ativos)
Segurança: **************** stream 'SELECT email from virtual users' (e ****************************************************************************************...
Persistir o provedor selecionado de OAuth no callback para que ele pare de reverter para KamoMail
Alternando uma org para Microsoft 365 (ou Google Workspace / Zoho) nunca ficou preso: o callback OAuth armazenava tokens e só inverteu o status em uma linha de ...
Resolver o logótipo de boas- vindas- e- mail da máquina de temas org, não o ápice
Logotipos de cabeçalho/footer em emails de sistema (bem-vindos/verificação) foram construídos como **************** um caminho de ápice que só existe no Kamo si...
Comparação secreta de tempo constante (oráculo de chegada)
Substituir String.equals com MessageDigest.isIqual para que a latência da resposta não possa Vazamento do X-Internal-Auth compartilhado byte-by-byte. Varredura ...
Vars de amostra para antevisão do modelo de resumo de reunião
Adiciona uma caixa de exemploVariáveis para o novo modelo de resumo de reunião para o administrador Preview UI torna conteúdo realista.
Endpoint interno para criar/cancelar o evento de calendário de um membro
POST /api/internal/calendar/eventos (X-Internal-Auth gated) resolve membro -> usuário -> calendário primário (criando um padrão se necessário) e cria um evento....
Reencaminhamento público fixo + retorno de chamada de entrada
O email da plataforma OAuth (Microsoft 365 / Google / Zoho) não tinha público válido redirecionar URI: o redirecionamento foi derivado da máquina request, que e...
Reconstruir contra gated compartilhamento-lib (mlos.intake beans agora opt-in; corriges CrashLoop)
LÍQUIDO MLOS-internal-auth (INTERNAL AUTH SECRET) em implantação [skip ci]
EmailService's InternalAuthFilter Guards /api/email/templates/enviar + /seed-org on internal.auth.secret, que estava desativada (falha-fechada 503). Partilhar o...
Devolver 422 (não 500) quando o membro não tiver caixa de correio
listFolders e outros terminais de leitura jogaram IlegalStateException de MailContext.toMailCredentials() quando um membro não tinha credenciais IMAP Providenci...
Não salvar NoReply transacional envia para uma pasta Enviada
NoReply é um endereço somente de envio sem caixa de correio, mas todas as transações enviar ainda uma tentativa de IMAP anexar à sua pasta Enviada, produzindo u...
Alterações para adicionar suporte a senha de alteração aos perfis de conta
Contas de caixa de correio auto-curadas do aplicativo DB (recuperação de deriva)
O aplicativo DB é a fonte de verdade para a qual as caixas de correio devem existir; KamoMail contas ao vivo nos usuários virtuais do servidor de e-mail. Se o c...
A API da lista de caixas de correio devolve a forma de UI
GET /api/email/mailboxes devolveu a entidade bruta (fornecedorStatus, lastSyncedAt, sem contagem de membros). As definições da IU lêem... status era sempre inde...
Autorizar o acesso de correio baseado em privilégios para leitura + envio-como
solutionForMailbox só concedeu acesso através de uma atribuição direta do MemberMailbox, Então, as caixas de correio apareceram através de direitos jogaram NoSu...
Migrar para k1m1 (clone+registro+kubeconfig a partir do k1m1, soltar o k2m1, instalar o kubectl simples)
Reconstruir a actualização da biblioteca partilhada com kamo (modelos de e- mail de sinais)
Pega os novos modelos canônicos esign.signer verification + esign.signe invite para que a sementeForOrg possa semeá-los no primeiro envio.
Bump for kamo-shared-library 1.5.0 snapshot update (Catálogo de programas M2)
Wire DomainManager e MailboxProvisioner para todos os provedores de nuvem
Substituir a Operação Não SuportadaException stubs em cada provedor de nuvem com chamadas HTTP reais contra a API de administrador de cada infraestrutura: - Mi...
IMAP/SMTP-backed enviar, pasta e procurar por stubs de nuvem
Extrair o padrão de delegação IMAP/SMTP em AbstractImapBackedCloudProvider e ter Zoho, IceWarp, Exchange, Google Workspace, e Microsoft 365 estender Ele. A clas...
MailReader apoiado por IMAP para os stubs de provedor de nuvem
Zoho, IceWarp, Exchange, Google Workspace e Microsoft 365 expõem IMAP, Então, envie os métodos MailReader de cada provedor de nuvem através do EmailImapService ...
Servir imagens em linha partes MIME e metadados de superfície Content-ID
Renderize <img src="cid:..."> nas mensagens UI, expondo as partes em linha que o corpo HTML se refere. - AnexoInfo ganha conteúdoId (sem parênteses de ângulo) ...
Preservar o nome do ficheiro original e o tipo de conteúdo no download do anexo
O ****************es finais (ambos o pessoal e controladores de caixa de correio compartilhado) estavam emitindo Disposição de Conteúdo: anexo sem parâmetro do ...
Escopo concorda com a construção de trabalhos, não com o Kubernetes
Concorrencialidade de fluxo de trabalho serializou todo o gasoduto (incluindo kubectl rollouts). Mover o grupo para a tarefa de compilação apenas para implantar...
Sincronize members.email quando a caixa de correio primária é atribuída, alterada ou removida
Quando uma caixa de correio foi atribuída a um membro em uma org KAMO MAIL, members.email nunca foi actualizado, fazendo com que o EmailCredentialService não re...
Mark-as-read for shared and member mailboxes
EmailController.setFlags now accepts an optional mailboxId query param and routes through resolveProviderWithMailbox so member-mailbox flags are set against the...
Lidar com IMAPInputStream no getMessage para evitar ClassCastException
JavaMail pode retornar um IMAPInputStream em vez de uma string decodificada de part.getContent() quando o conteúdo da mensagem não foi pré-fetched. A moldes dir...
Use getHasAttachments () para corresponder ao tipo de invólucro booleano
************* é um booleano (embrulhador), então Lombok gera getHasAttachments() não isHasAttachments(). Apenas este último existe para booleanos primitivos. Us...
Reset stale hasAttachments on sync and accumulate correctly
- Reset has_attachments=false at start of bulk sync so stale true values from old false-positive MIME detection are cleared before re-indexing - Accumulate ha...
Suporte a partir do cancelamento do endereço ao enviar
Adds FromAddressRequest to EmailSendRequest so the frontend can especifique Apelido/compartilhado/endereço da caixa de correio a enviar. SmtpOnlyProvider agora ...
Como o que vês no transporte?
Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.