Stop Hibernasi mangling "::" cast dalam asli SQL
Pengubah pencarian Hibernasi memperlakukan ":" sebagai sebuah titik dua yang lolos dan ke depan single ":". CockroachDB diterima * * * * * * * * * * * * * * * ...
Terus coba pengindeksan yang tahan lama konsumen NAS setelah menyebarkan
Sebuah rolling menyebarkan overlap pod dan yang keluar masih memegang tahan lama konsumen, jadi pod yang masuk mengikat ke "email-metadata- indexer" gagal denga...
Tambahkan pengindeksan metadata ke kolom terurut
Mengikuti kamo- shared-library mengubah peta percakapan / search _ index kolom array sebagai String [] / UUID [] daripada Daftar < T >, yang merupakan apa yang ...
Terikat indeks folder besar dan hentikan pada kegagalan struktural
Pekerjaan yang belum selesai dari sesi yang sedang berlangsung, menyapu sehingga pohon bersih. Indeks besar berjalan halaman dengan totalPages diatur ke Intege...
Tidak pernah cocok memimpin terhadap perusahaan alamat sendiri
Petunjuk yang e-mail diatur ke noreply @ kamocrm.com cocok dengan setiap pesan yang alamat yang pernah dikirim - satu catatan utama muncul seluruh perusahaan ou...
Halaman menyapu memimpin sampai jendela ditutup
Satu halaman tetap kehilangan surat diam-diam ketika kotak surat mengambil lebih dari pesan pagesize diantara ticks - sebuah newletter burst, sebuah inbox sibuk...
Alamat balasan di ReplyTo, dan berhenti membocorkan pengecualian SMTP ke UI
Jawaban singkat ke pemberitahuan KamoCRM gagal dengan '{"error": "Alamat tidak valid"}' kata demi kata dalam kotak jawaban. String itu adalah kata-kata surat Ja...
Berhenti mengklasifikasikan sebuah akar HTML multipart / related sebagai lampiran
Setiap email transkasional yang kami kirim dengan logo org inline tiba di diri kami sendiri / pelihat pesan dengan subjek yang benar dan badan yang benar-benar ...
Pindai repositori MFA terbagi
MfEnrollment Service adalah sebuah @ Service dalam kamo- shared-library, sehingga wildcard @ ComponentPindai ("com.kao") dalam aplikasi ini konstruksi apakah at...
Merge duplikasi kunci kamo yang crashlooped EmailService
Kapsul EmailService baru telah di CrashLoopBackOff sejak 16e8a05 - 22 memulai kembali, tidak pernah sekali dimulai. Snakeaml raise DuplicateKeyException on a re...
Harden the kubectl download against flaky egress [skip ci]
dl.k8S.io atas pelari itu keluar sesekali tetes pertengahan - transfer: curl: (56) OpenSSL SSL _ read: dekripsi gagal atau rekaman mac buruk yang gagal menyebar...
Tambahkan CampaignController REST titik akhir untuk / api / email / kampanye
Area kerja surel / penyunting panggilan GET / POST / api / email / kampanye dll, tapi hanya Layanan Kampanye (@ Service) pernah dibuat - tidak ada @ Controller ...
Hapus peraba unsubscristMatcher ambigu yang startup jatuh
EmailService mount two servlets (MVC DispatcherServlet + Spring- WS MessageDispatcherServis at / *), so a bare string request Matcher ( "/ api / email / unsubsc...
Hentikan serialisasi xovoca2 getter yang dihitung yang memecahkan cache MailCreified Redis
Mailcreaceis cache in Redis (GenericJackson2Json). Ditambahkan 'isXostal2 ()' getter boolean diserialisasi sebagai properti "xovoca2" tetapi tidak memiliki bida...
Scope KamoMail mailbox / domain listing ke domain org sendiri (kebocoran cross-tenant)
SECURITY: * * * * * * * * * * * * * 'SELECT email DARI virtual _ users' (dan * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 'SELECT...
Persist yang dipilih penyedia OAuth pada callback sehingga berhenti kembali ke KamoMail
Mengganti suatu org ke Microsoft 365 (atau Google Area Kerja / Zoho) tidak pernah macet: OAuth callback menyimpan token dan hanya membalik status pada baris pen...
Resolve welcome- email logo dari host tema org, bukan apex
Logo header / footer dalam email sistem (selamat datang / verifikasi) dibangun sebagai * * * * * * * * * * * * * situs pemasaran, sehingga untuk orgs pelanggan ...
Konstant- waktu pelatihan - rahasia tahun auth dibandingkan (oracle waktu)
Ganti string.equals dengan MessageDigeñal Equal sehingga latensi respon tidak dapat kebocoran X-Internall -Auth berbagi rahasia byte-by-byte. Kabur - menyapu le...
Kembali 422 (bukan 500) ketika anggota tidak memiliki kotak surat
listFolders dan titik akhir membaca lainnya melemparkan IllegalStateException dari MailContex.toMailcredit () ketika anggota tidak memiliki kredensial IMAP Diat...
Jangan simpan surel Noreply transkasional ke folder yang dikirim
NoReply adalah alamat send-only tanpa kotak surat, tetapi setiap transaksional mengirim masih percobaan append IMAP ke folder Terkirim, menghasilkan berisik AUT...
Daftar kotak surat API mengembalikan UI-shaped * * * * * * * * * * * * * * * * *
GET / API / Email / kotak surat mengembalikan entitas mentah (providerStatus, LastSyncedAt, tidak ada jumlah anggota). Pengaturan UI berbunyi * * * * * * * * * ...
Otorisasi akses kotak-surat berbasis untuk membaca + send-as
resolveForMailbox hanya memberikan akses melalui penempatan langsung Anggota Mailbox, Jadi kotak surat muncul melalui... Hak melempar NoSuchElement Exception - ...
Pertahankan nama berkas asli dan jenis isi pada unduh lampiran
* * * * * * * * * * * * * * * * * titik akhir (kedua pribadi dan shared-mailbox controller) adalah memancarkan Kontent-Disposition: lampiran tanpa parameter nam...
Selaraskan keanggotaan surel ketika kotak surat primer diberikan, diubah, atau dihapus
Ketika kotak surat ditugaskan untuk anggota dalam KAMO _ MAIL org, members.email tidak pernah diperbarui, menyebabkan EmailCredentialService gagal untuk menyele...
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...
Menangani IMAPInputStream dalam getMessage untuk mencegah Eksepsi Kelas
JavaMail dapat mengembalikan IMAPInputStream daripada String yang diterjemahkan dari part.getContent () ketika isi pesan belum pernah ada sebelumnya. The straig...
Gunakan getHasAttachments () untuk mencocokkan tipe pembungkus Boolean
* * * * * * * * * * * * * adalah Boolean (wrapper), begitu Lombok menghasilkan getHasAttachments () bukan isHasAttachments (). Yang terakhir saja ada untuk bool...
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...
Dukungan dari override Alamat saat mengirim
Tambahkan FromAddressRequest ke EmailSendRequest sehingga antarmuka dapat menentukan alamat alias / shared / mailbox untuk dikirim. SmtpOnlyProvider sekarang me...
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...
Correct field name and type in getFromAddresses response
Backend was sending 'email' key but frontend expected 'address', and sent type 'shared_mailbox' when frontend expected 'shared'. Also fixes hasMailboxes flag wh...
Fall back to org _ domains when no email _ provider _ domains default set
KamoMasin Validator sulit-gagal dengan 403 untuk orgs yang memiliki domain DNS-verified dalam org _ domains tetapi tidak pernah ditambahkan ke email Registri do...
Revert replyTo change - smtpService.send mengambil lampiran tidak replyTo
Tampilkan filter status dan biji otomatis yang diperlukan dalam daftar
- Email TemplateController.list () sekarang menerima? status = param dan filter menggunakan permintaan repositori FindByOrganidAnStatus - Auto- benih diperlukan...
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.
Ubah nama mailboxId Aboid dan status providerStatus Avable dalam respon daftar kotak-surat
Align nama lapangan dengan frontend harapan untuk anggota daftar kotak surat.
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...
Extract BCC recipients from IMAP messages
BCC header is retained on sent folder copies. Now extracted alongside To and CC so the frontend can display it in sent item previews.
Provider GET returns both type and providerType, PUT accepts both
GET /api/email/provider now includes both 'type' and 'providerType' fields in the response for frontend compatibility. PUT now accepts 'type' as a fallback when...
Seperti apa yang Anda lihat pengiriman?
Semua itu tiba di ruang kerjamu sendiri. Mulailah dengan rencana gratis dan baca halaman ini lagi dalam sebulan.
