Стоп Хібернате мангал ":" відкидає в рідному SQL
РџРμР»РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμллРμР»РμР»РμР»РμР»РμР»РμллРμллРμллРμллРμллллллл...
Зберігайте переробку споживача індексатора НАТС після розгортання
Розгортання розгортати перекриття подів і виїжджаючи ще міцно Споживач, так що вхідний зв'язок суб'єкта до "email-metadata-indexer" не виходить з [SUB-90012] Сп...
Адаптація індексаторів метаданих для масивних стовпців
Дотримуйтесь зміни кармо-шаред-ліберта, які картують розмови /search index масивні стовпчики, як String[]/UUID[], а не Список<T>, що припинено кожен вказував по...
Підключіть індекс сипучих папок і зупиніть його на структурній недостатності
Несумісна робота з одночасним сеансом, ковтати в тому, що дерево чистий. Об'ємний індекс ходив сторінки з загальнимиPages, встановленими на Integer. MAX VALUE ...
Ніколи не збігаються з власними адресами компанії
A Lead, e-mail якого була встановлена на noreply@kamocrm.com, що відповідає кожному повідомленню про те, що адреса не була відправлена - одна з провідних реєстр...
Сторінка свинцю ковтати до вкритого вікна
Одна фіксована сторінка безшумно втрачена поштова скринька, коли поштова скринька приймала більше pageSize повідомлень між кліщами — лопець, зайнятий спільною п...
Адреса відповідей на відповідь-To, і зупинити витік SMTP винятки до UI
Швидкий відповідь на повідомлення KamoCRM не вдалося з `{"error":"Незаконні адреси"}` Надіслане дієслово в поле відповіді. Цей рядок є власне слово Jakarta Mail...
Стоп класифікує багаточастиновий/пов'язаний корінь HTML як вкладення
Кожна транзакційна електронна пошта ми надішлемо вбудованим логотипом org /повідомлення глядача з правильним предметом і абсолютно порожнім тілом. АуттачментPa...
Сканування спільних репозицій МЗС
MfaEnrollmentService – це сервіс у камо-шред-ліберті, тому дикої картки @ComponentScan("com.kamo") в цьому додатку конструює це чи ні Сервіс має все, щоб зробит...
Злиття дублікати kamo ключ, який збочений Email Service
У CrashLoopBackOff з 16e8a05 — 22 решти, ніколи не почався. snakeyaml піднімає ДублікатиKeyException на повторному рівні ключ, і я додав другий `kamo:` блок для...
Важко завантажити kubectl проти гасіння [скіп ci]
dl.k8s.io над егресом бігуна, що перетинається в середині трансфера: curl: (56) OpenSSL SSL read: розшифрування не вдалося або поганий запис mac не вдається роз...
Додати відсутні кінцеві пункти для /api/email/campaigns
Адреса електронної пошти: м. Київ, вул.Газова, 2 Кампанія (далі – «Послуга») ніколи не була створена — немає @RestController. так кожен виклик 404-d і /маркетин...
Видаліть неоднозначну відмову від підпису
EmailПослуги кріплень двох servlets (MVC DispatcherServlet + Spring-WS ПовідомленняDispatcherServlet в /послуги /*), так що запит на рядку "/api/email/unsubscri...
Стоп послідовний комп'ютерний xoauth2 getter, який зламав MailCredentials кеш
MailCredentials є студентом у Redis (GenericJackson2Json). Додано `isXoauth2()` boolean getter був послідовний як властивість "xoauth2" але не має поля для чита...
Сфера поштова скринька KamoMail/domain listing to the org's власних доменів (cross-tenant leak)
SECURITY:*******************************************************************************************************************************************************...
Підібраний OAuth провайдер на зворотному зв'язку, тому він перестає перевернутися до KamoMail
Увімкнення org до Microsoft 365 (або Google Workspace / Zoho) ніколи не застрягнув: OAuth Callback зберігають токени і тільки згорнув статус на передвиборчому р...
Вирішуйте вітання з логотипом org тема, а не apex
Логотипи заголовка / нижній колонтитул в системах (зварювальник / верифікація) були побудовані як ******** — apex шлях, який існує тільки на Kamo сайт маркетинг...
Постійно-часовий внутрішній секрет порівняння (тимчасове покриття)
Замінити String.equals з повідомленнямDigest.isEqual так відповідача не може витік X-Internal-Auth спільного секрету за допомогоюte-byte. Флотно-широкий ковтанн...
Повернення 422 (не 500) при відсутності поштової скриньки
списокФолдери та інші читані кінцеві пункти провокують незаконний стан MailContext.toMailCredentials() коли учасник не мав облікових записів IMAP наданий, що фі...
Не зберігайте транзакційний режим NoReply надсилайте до папки Sent
NoReply - адреса електронної пошти без поштових скриньок надсилайте спробу IMAP до своєї папки Sent Попередження щодо кожного відправлення. Додати прапорець Sav...
Mailbox список API повертає UI-подібний ***********
GET /api/email/mailboxs повернули сиру суб'єкт (providerStatus, lastSyncedAt, не кількість членів. The Settings UI reads********************************** Стату...
Авторизація доступу поштових скриньок на основі привілеїв для читання + відправлення
вирішитиForMailbox тільки наданий доступ через пряме призначення електронної пошти Учасника, so mailboxes topd через ********************* тюрма NoSuchElementEx...
Збережіть оригінальне ім'я файлу та тип вмісту для завантаження вкладення
The*************************************************************************************************************************************************************...
Sync членів.email при призначенні первинної поштової скриньки або видаленні
Коли поштова скринька була призначена для члена KAMO MAIL org, членів.email ніколи не було оновлено, викликаючи електронну поштуCredentialService, щоб не виріши...
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 в getMessage для запобігання ClassCastException
JavaMail може повернути IMAPInputStream замість декодованого String part.getContent() при вмісті повідомлення не було попередньо фіксовано. Про нас прямо (Strin...
Використовуйте getHasAttachments() щоб відповідати типу обгортки Boolean
****** є Boolean (ваппер), так Ломбок генерує getHasAttachments() не єHasAttachments(). Останні тільки існує для примітивного булеана. Використовуйте Boolean.TR...
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...
Підтримка наданого надавача
Додавання відAddressRequest до електронної поштиSendRequest, так що фронтенд може вказати яку адресу електронної пошти та адресу електронної пошти для відправки...
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...
Коректне ім'я поля та тип в GetFromAddresses відповідь
Backend було відправлено 'email' ключ, але передній очікуваний 'address', і відправлений тип 'shared mailbox' при передній очікуванні 'shared'. Також фіксує has...
Падіння назад до org domains при відсутності електронної пошти provider domains за замовчуванням
KamoMailDomainValidator був важкодоступний з 403 для orgs, які мають DNS-перевірений домен в org domains, але ніколи не додано його в електронну пошту реєстр до...
Зворотній зв'язокДо зміни - smtpService.send приймає вкладення не відповідьTo
Пройдіть відповідьЗа допомогою SMTP відправити замість того, щоб відкинути його
Провідування фільтра стану та автоматичного використання необхідних шаблонів у списку
- EmailTemplateController.list() Тепер приймає ?status= param і фільтри за допомогою існуючої пошукової запити ByOrgIdAndStatus - Автозапчастини потрібні шаблон...
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.
JavaScript licenses API Веб-сайт
Вирівнюйте назви поля з передовими очікуваннями для списку поштових скриньок членів.
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...
Як ви бачите відправлення?
Все це прибуває в робочому просторі. Почати безкоштовно план і читати цю сторінку знову в місяць.
