Restaurare fișierele 2b23346 scăzut, și răspundeți la un trimite supradimensionate cu 413
2b23346 a fost angajat printr-un indice privat care nu a fost niciodată însămânțat din CAP, astfel copacul său a ținut doar cele trei fișiere înscenate în ea și...
Nu mai acapara fiecare trimitere la 1MB, astfel încât o imagine lipită poate ieși de fapt
Compozitia cu o imagine lipita a esuat cu un "A esuat sa trimita email." ă compozitor inlines pasta în corpul HTML ca o bază64 date URI, care plimbari în partea...
Opriți Hibernate manjirea "::" aruncă în SQL nativ
Hibernate Nativ-query parser tratează ":" ca un colon scăpat și înainte a "" CockroachDB primit ***************************************************************...
Continuă să încerci din nou consumatorul NATS durabil al indexorului după o implementare
O desfăşurare de rulare se suprapune păstăi şi cel de ieşire încă mai deţine durabil consumator, astfel încât legătura pod de intrare la "email-metadate-indexer...
Adaptați indexatorii metadatelor la coloane tip matrice
Urmează schimbarea kamo-shared-library care hărți conversații/search index coloane array ca String[]/UUID[] mai degrabă decât List<T>, care este ceea ce sa opri...
Legat indexul de dosar în vrac și opriți-l pe eșec structural
Lucru neangajat de la o sesiune concomitentă, măturat în astfel încât copacul este curat. Indexul în vrac a mers pagini cu total Pages setat la Integer. MAX VA...
Nu se potrivesc cu o pistă împotriva propriilor adrese ale companiei
O pistă a cărei e-mail a fost setat la noreply@kamotrm.com potrivit fiecare mesaj că adresa a trimis vreodată flux de e-mail (126 de asociații din 6 conduce în...
Page matura plumb până când fereastra este acoperit
O singură pagină fixă a pierdut în tăcere e-mail ori de câte ori o cutie poștală a luat mai mult decât PaginăSize message between ticles doar prima matura a un...
Răspunsurile la adresa de răspuns-To, și opri scurgerile de excepții SMTP la UI
Un răspuns rapid la o notificare KamoCRM a eșuat cu "error" "Addresses Invalid"} transformat verbatim în caseta de răspuns. Acest șir este propria formulare Jak...
Opriți clasificarea ca atașament a unei rădăcini HTML multipart/asociate
Fiecare e-mail tranzacţional pe care îl trimitem cu un logo org aliniat a sosit în propria noastră /mesaj vizual cu un subiect corect și un corp complet gol. i...
Scanează depozitele comune MAE
MfaEnrollmentService is a @Service in kamo-shared-library, so the wildcard @ComponentScan("com.kamo") în această aplicație construiește sau nu aceasta service a...
Combină cheia kamo duplicat care s-a prăbuşit prin e-mailService
Noul EmailService pod a fost în CrashLoopBackOff de la 16e8a05 22 reporniri, N-am început niciodată. snakeyaml ridică Duplicate KeyException la un nivel superio...
Harden download kubectl împotriva egress fulg [skip ci]
dL.k8s.io peste ieşirea alergătorului scade intermitent la mijlocul transferului: curl: (56) OpenSSL SSL read: decriptare eșuată sau înregistrare proastă mac ca...
Adăugați criteriile finale de evaluare a Campaniei de Control al REST lipsă pentru /api/email/campanii
Spațiu de lucru vrac-email/editor apel GET/POST /api/email/campaigne etc., dar numai CampaignService (The @Service) a fost creata vreodata. Deci fiecare apel 40...
Elimină cererea ambiguă de dezabonareMatcher care s-a prăbușit
EmailService mounts two servlets (MVC DispatcherServlet + Spring-WS MesajDispatcherServlet la /servicii/*), astfel încât o cerere de siruri de caractere goaleMa...
Nu mai serializa sistemul xoauth2 care a spart MailCredentials Redis cache
MailCredentials este cached in Redis (GenericJackson2Json). Adăugat Boolean Geter a fost serializat ca o proprietate "xoauth2," dar nu are nici un câmp de citi...
Domeniul de aplicare KamoMail mailbox / domeniul de listare la domeniile proprii ale org (scurgere încrucişat-tenant)
SECURITATE: ****************************************************************************************************************************************************...
Persist selectat furnizor OAuth la apel înapoi astfel încât să se oprească revenirea la KamoMail
Comutarea unei org pe Microsoft 365 (sau Google Workspace / Zoho) nu s-a blocat niciodată: jetoanele de apel stocate OAuth și numai statutul răsturnat pe un rân...
Rezolva logo-ul de bun venit-email de la gazda temă org, nu apex
Logo-uri antet/de jos în e-mailuri de sistem (bun venit/verificare) au fost construite ca **********************************************************************...
Comparație secretă în timp intern-aut constant (oracle Timing)
Înlocuiți String.equals cu MesajDigest.isEqual astfel încât latența de răspuns nu poate Scurgeri X-Normal-Auth comun secret byte-byte-byte. Maturarea în întreag...
Returnare 422 (nu 500) atunci când membrul nu are cutie poștală
dosare listă și alte criterii de evaluare citită aruncat stat ilegal Excepție de la MailContext.to MailCredentials() atunci când un membru nu a avut acreditări ...
Nu salva tranzacțiile NoReply trimite într-un dosar trimis
NoReply este o adresă numai-trimite fără căsuță poștală, dar fiecare tranzacție trimite încă încercat un apendice IMAP la dosarul trimis, producând o gălăgie Av...
Lista de căsuţe poştale API se întoarce în formă de UI ***********
GET /api/email/boxes returnat entitatea brută (prestatorStatus, lastSyncedAt, fără număr de membri). Setările UI citesc ******************* deci statutul a fost...
Autorizați accesul cutie poștală pe bază de privilegiu pentru citire + trimitere
remitForMailbox a acordat acces doar printr-o misiune directă MemberMailbox, Aşa că cutiile poştale au ieşit la suprafaţă. drepturi aruncat NoSuchElementExcepti...
Păstrați numele original și tipul de conținut la descărcarea atașamentului
Criteriile de evaluare (ambele personale) și controlorii de căsuță poștală comună) emiteau conținut-Dispoziție: atașament fără parametru de nume de fișier și ti...
Sincronizează membrii.email atunci când căsuţa poştală primară este atribuită, modificată sau eliminată
Atunci când o cutie poștală a fost atribuită unui membru într-un org KAMO MAIL, membrii.email nu a fost niciodată actualizat, provocând EmailCredentialService s...
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...
Handle IMAPInputStream in getMessage pentru a preveni ClassCastException
JavaMail poate returna un IMAPInputStream în loc de un string decodat de la part.getContent() atunci când conținutul mesajului nu a fost pre-inventat. ă mulaje ...
Utilizați getAstachments () pentru a se potrivi cu tipul de ambalaj boolean
***************** este un ambalaj Boolean, deci Lombok generează getHasAttachments() not isHasAttachments(). Doar acesta din urmă există pentru boolean primitiv...
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...
Suport de la @ info: whatsthis
Adaugă FromAddressRequest to EmailSendRequest so the frontend can specification din care se poate trimite adresa de e-mail/împărtășit/cutie. SmtpOnlyProvider ac...
Fix attachment parsing and hasAttachment false positives
Three fixes to EmailImapService: 1. toEnvelope: narrow multipart check to multipart/mixed only — plain HTML+text emails (multipart/alternative) no longer sh...
Add com.kamo.z.shared.commerce to EnableJpaRepositories scan
**************** (required by **************** in the shared library) lives under com.kamo.z.shared.commerce but was not included in the JPA repository scan, ca...
Numele și tipul de câmp corecte în răspuns de la Adders
Platforma trimitea cheia 'e-mail' dar frontend se aştepta la 'adresă' şi a trimis tip "împărtășit mailbox" atunci când frontend se aștepta la "împărțit." De ase...
Retrageți-vă la org domenii atunci când niciun set implicit de e-mail prestator domenii
KamoMailDomainValidator a fost greu-failing cu 403 pentru orgi care au un DNS-verificat domeniu în org domenii dar niciodată adăugat la e-mail registrul de dome...
Filtru de stare sârmă și șabloane auto-semințe necesare pe listă
- EmailTemplateController.list() acceptă acum ?status= param și filtre folosind interogarea depozitului existent ByOrgIdAndStatus - Seminte auto necesare modele...
Preview uses same auto-vars as sendToUser (org logo + name)
The preview endpoint now injects logoUrl, logoSimpleUrl, and orgName from the org's domain before applying sample content variables, matching the exact variable...
Update EMAIL_VERIFICATION sample vars to match current template
Use expiryText instead of expiryMinutes (renamed variable), and update verifyLink to point to the register subdomain (correct send path).
Preserve DB domain case in NoReply from address
Removed toLowerCase() — the domain already comes from resolvePrimaryDomain which reads org_domains from the database, so case is canonical from DB.
Resolve root domain for NoReply from-address instead of bare subdomain
resolvePrimaryDomain() was returning the first domain entry (e.g. "www") which produced NoReply@www. Now prefers root domains (parent == null) so transactional ...
Add internal.auth.secret to EmailService configmap
InternalAuthFilter was rejecting all service-to-service calls (send, seed-org) with 503 because internal.auth.secret was unconfigured. Matches the same INTERNAL...
Allow transactional send on port-25 relay and auto-seed missing templates
Port-25 SMTP (postfix) requires no auth — transactionalCredentials() was throwing ProviderUnavailableException when user/pass were unconfigured, blocking all ve...
Add dao.repositories to JPA scan so EmailTemplateRepository is found
Same pattern as KamoInitializerService — explicit basePackages overrides default scanning and must include every package that has repositories.
Redenumește căsuța poștalăId→id și furnizorulStatus→status în răspunsul listei de căsuțe poștale
Aliniază numele de câmp cu așteptările frontend pentru listarea căsuțelor poștale membre.
Support mailbox switching by resolving IMAP credentials per mailboxId
Added getMailCredentialsByEmail to look up virtual_users by email directly, resolveForMailbox to MailProviderResolver with access verification, and optional mai...
Rename DomainService to EmailDomainService to resolve bean name conflict
The shared library's DomainService and EmailService's local DomainService both registered as 'domainService' bean, causing CrashLoopBackOff on deploy.
Correct method signatures in DomainController and MailboxController
- Fix getMemberMailboxes -> getMailboxesForMember in MailboxController - Add missing memberId parameter to getVerificationRecords and verifyDomain in DomainCont...
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
