Variabile ale eșantionului editorului pentru șabloane de notificare a mesajelor omise
Mostre de previzualizare pentru MISSED CHAT Mesage și suport TICKET REPTly inclusiv prime vs Variante de expeditor/titlu html escape utilizate de corpurile cano...
Microsoft 365 mail via Microsoft Graph app- only (zero per-mailbox setup)
Microsoft 365 mail acum citește/trimite numai prin aplicația Microsoft Graph (Mail.ReadWrite/Mail. Trimite permisiuni de aplicare) în loc de IHAP Credențial ac...
Reconstrucție pentru LOAN STATUS shared-lib UPDATE canonic șablon (9fab88c)
Reconstruiește pentru a ridica LOAN DOCS READY LO șablon canonic (împărțit-lib)
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...
Traseu e-mail al tuturor furnizorilor de cloud prin IMAP/SMTP cu OAuth2 (XOAUTH2)
Furnizori de cloud (Microsoft 365, Exchange Online, Google Workspace, Zoho, IceWarp) Moştenire citită/trimite de la *************** dar rezolvatorul niciodată A...
Consimţământul server-side "display imagini externe"
Înlocuiește clientul-local (localStorage) amintindu-și de alegerea de imagine externă cu un dosar durabil pe membru. Nou distanceImageConsentService (record-sof...
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...
VAR-uri de eșantionare pentru previzualizarea șablonului de ședință
Adăugați un exempluVariables caz pentru noul șablon-sumar întâlnire astfel încât administratorul preview UI redă conținut realist.
Obiectivul intern pentru crearea/anularea evenimentului calendaristic al unui membru
Post/api/intern/calendar/evenimente (X-Normal-Auth gated) rezolvă membrul -> utilizator -> calendar primar (crearea unui implicit, dacă este necesar) și creează...
Redirecționare publică fixă + revenire prin poartă
Platforma de email OAuth (Microsoft 365 / Google / Zoho) nu a avut public valid redirecţionarea URI: redirecţionarea a fost derivată din gazda cererii, care în ...
Rebuild against gated shared-lib (mlos.intke beans now opt-in; fixs CrashLoop)
Wire mlos-intern-auth (INTERN AUTH SECRET) în desfășurare [skip ci]
Emailservice's InternalAuthFilter guards /api/email/templels/send + /seed-org on Intern.auth.secret, care a fost nesetat (inchis 503). Partajează-le pe cele exi...
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...
Modificări pentru a adăuga suport de parolă de schimbare la profilurile de cont
Conturi de căsuță poștală autovindecată din aplicația DB (recuperare în derivă)
Aplicația DB este sursa adevărului pentru care cutiile poștale ar trebui să existe; KamoMail conturi în direct în utilizatorii virtuali ai serverului de poștă. ...
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...
Migrate to k1m1 (clone+registry+kubeconfig from k1m1, drop k2m1, simple kubectl install)
Reconstruiește pentru actualizare kamo-shared-library (semnează șabloane e-mail)
Preia noul model canonic esign.signer verification + Esign.signer invita astfel încât sămânţa ForOrg le poate însămânţa la prima trimitere.
Bump pentru kamo-shared-library 1.5.0 instantaneu reîmprospătare (M2 programe catalog)
Wire DomainManager și MailboxProvisioner pentru toți furnizorii de cloud
Înlocuiți cioburile de operare nesusținute Excepție în fiecare furnizor de cloud cu apeluri HTTP reale împotriva API admin fiecărui backend: - Microsoft 365 → ...
IMAP/SMTP-backed send, folder, and search for cloud stubs
Extragerea modelului de delegare IMAP/SMTP în RezumatImapBacked CloudProvider și au Zoho, IceWarp, Exchange, Google Workspace, și Microsoft 365 extinde Ea. Clas...
MailReader cu suport IMAP pentru cotoare
Zoho, IceWarp, Exchange, Google Workspace, și Microsoft 365 toate expune IMAP, așa că sârmă fiecare cloud-furnizor mailReader metode prin EmailImapService în lo...
Se serveste inline imagini piese MIME și metadate de conținut-ID
Render <img src="cid:... [62] în mesajele UI prin expunerea părților liniare că referinţele corpului HTML. - AtașamentInfo câștigă conținutId (fără paranteze u...
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...
Conexiuni în domeniul de aplicare pentru a construi locuri de muncă, nu Kubernetes pune în aplicare
Conexiuni la nivel de flux de lucru serializate intreaga conducta (inclusiv kubectl Rulouri). Mutați grupul la locul de muncă construi doar astfel implementa lo...
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...
Ca ceea ce vezi de transport maritim?
Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.