Use getHasAttachments() to match Boolean turnper type
************ bir Boolean (wrapper), bu yüzden Lombok HamsAttachments(),HasAttachments() değildir. İkincisi sadece ilkel boolean için var. Boolean.TRUE.equals()'...
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...
Address override'den destek
Ads fromAddressRequest to EmailSendRequest so the frontend can specify Hangi alias/shared/mailbox adresini göndermek için. SmtpOnlyProvider şimdi Şu andan itiba...
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...
E-provider domains varsayılan ayarlandığında org domains geri dönün
KamoMailDomainValidator, 403 ile orgs için zor bir şeydi DNS-verified domain in org domains but never add it to the email sağlayıcı domain kayıt. İlk aktif kull...
Wire up status filtre ve otomatik olarak gerekli şablonlar liste üzerinde listelendi
- EmailTemplateController.list() şimdi kabul ediyor?status= param ve filtreler Mevcut findByOrgIdAndStatus repository query - Auto-seeds ilk tohumlamayı kaçıran...
KamoMail domaini, haçlı e-posta adreslerini engellemek için geçerlidir
KamoMailDomainValidator bileşenini kontrol eder, hizmet katmanında, Gönderilen e-posta domaini org'in doğrulanmış varsayılan domaini karşılaştırırsa KamoMail ak...
Camo-shared-library güncelleştirmesi için yeniden inşa (CREATE CHILD ORG right + apply-to flags)
Yeni RolRightType.CREATE CHILD ORG (id 131), ÇocukOrgGüvenlik Modeli'ndeki üç bayrak, iki 13-arg hizmeti aşırı yükleme ve Uygulamalı ModelEnforcementService yar...
Kamo-shared-library update için yeniden inşa (appConfig upsert-sadece düzeltme)
Sertleştirilmiş **************** Artık hizmet tiplerinin çağrıcının ödeme yükünden yoksun kaldığı uygulama sıralarını sildirme - kısmi bir ödeme yükü alındığınd...
Rebuild for kamo-shared-library update (effective-feature resolver)
Picks up the new AppliedModelEnforcementService methods (computeAvailabilitiesMap, isAppEffectivelyEnabled, getEffectivelyEnabledAppTypes, computeEffectiveFeatu...
Rebuild for kamo-shared-library update (applied-model enforcement + appConfigs + isPrivate)
Triggers a rebuild so this service pulls the updated kamo-shared-library containing AppliedModelEnforcementService, ChildOrgSecurityModelAppConfig entity, Servi...
Rebuild for kamo-shared-library update (runtime force rules + DEFAULT fallback in MemberRightsAppliedService)
Triggers a rebuild so this service picks up the updated **************** that applies template force rules and DEFAULT-template fallbacks on top of the existing...
Rebuild for kamo-shared-library update (master model, default role templates, force-rule resolver)
Triggers a rebuild so this service pulls the new kamo-shared-library revision containing Organization.branchTypeID, Organization.masterModelID, ****************...
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...
Auto-inject logoUrl, logoSimpleUrl, and orgName variables at send time
EmailTemplateService now merges base variables (logoUrl, logoSimpleUrl, orgName) derived from the org's primary domain before rendering, so all transactional te...
Add resetCode to password reset email, add emailVerifyByCode endpoint, send WELCOME_MEMBER after email verification
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.
Add EmailTemplateCategoryController REST endpoints
**************** CRUD. Delete response includes reassignedCount — the number of templates that became uncategorized as a result of removing the category. Sessio...
Add EmailTemplateController REST endpoints + DTOs
Exposes /api/email/templates/* CRUD + preview + duplicate + reset-to-default + service-to-service /send + /seed-org/{orgId}. Top-level orgs (no parent) addition...
Servis uç noktaları için İçAuthFilter ekleyin
X-Internal-Auth Title on /api/email/temblocks /send and /api / e-posta/templates/seed-org/* yolları. Diğer yollar bu filtreyi atlar (Kullanıcı seansı onları ida...
E-postaTemplateKategoryService ekleyin - CRUD for org-scoped kategorileri için
Vakaya duyarlı isim, hizmet katmanında uygulanmış bir şekilde eşsizlik (Wondra'daki kısmi eşsiz indeksi birleştirir). Deletion nulls kategori id kategori sırası...
EmailTemplateService ekleyin - CRUD + gönderi + tohum + reset-to-default
İşlemsel e-posta için Core orkestrator. SendToUser şablonu çözer, Konu / sadece, org'un birincil domaini Organizasyondan alır. Alanlar, E-postaSmtpService with ...
NoReplySenderService for 'NoReply@{domain} from-address
Adreslerden işlem-posta için tek gerçek kaynağı. Kabul Ediyor domain string, altcase-normalizes it, returns "NoReply@<domain>". Callers org's domain (via Organi...
Add TemplateRenderer for {{var}} substitution
Devletsiz regex tabanlı former. Eksiklikler boş dizeyi ve LinkKey + veyagId ile bir WARN logunu takmak. HTML kaçış yok v1'de - değerler sunucu kontrollüdür. SP...
Rename mailboxId→id ve sağlayıcıStatus+status posta kutusu listesinde yanıt
Üye posta kutusu listeleri için ön beklentileri olan Align alan isimleri.
Add concurrency group to prevent duplicate workflow runs
When a push triggers a workflow and workflow_dispatch is also fired (or two pushes arrive in quick succession), both runs would execute simultaneously. Adding a...
Bump version to trigger rebuild with updated kamo-shared-library
Rebuilds the Docker image with the fixed Member entity (memberType field removed) so the Hibernate SQL no longer selects security_level from the member_team_mem...
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...
Add email signature field config API
Add service and REST controller for managing email signature field visibility configuration per organization. Admins can toggle which contact fields appear in s...
Add accessible mailboxes endpoint with privilege-based expanded access
Add AccessibleMailboxService and GET /api/email/mailboxes/accessible endpoint that returns personal mailboxes, shared mailboxes, and privilege-gated access to d...
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...
Add email domain management and mailbox provisioning through abstract provider layer
- Add DomainManager and MailboxProvisioner capability interfaces with sub-capability detection - Add ProviderDomain, ProviderMailbox, DnsRecord DTOs - Implement...
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...
Add email aliases and shared mailbox support
New MailboxManager provider capability interface for alias and shared mailbox CRUD. KamoMailMailboxManager implementation manages dovecot/postfix virtual_users ...
Kargoyu gördüğünüz gibi?
İş alanınızda bu güncellemelerden her biri otomatik olarak. Ücretsiz başlayın ve haftadan sonra büyümesini izleyin.