E-signature 템플릿에 대한 미리보기 변수
관리자 템플릿 편집기는 모든 placeholder 공백을 키로 렌더링합니다. sampleVariables 팔, 그래서 7 개의 esign 템플릿은 페이지로 미리보기 빈틈의 - 다섯 가지 새로운 라이프 사이클 공지를 포함. 하나의 공유 팔 Lifecycle 5, 초대 및 단계 업 코드를 ...
Searchable, 회원이 보낼 수있는 주소에 대한 페이지 끝점
GET /api/email/mailboxes/sendable 같은 질문에 /accessible — 모든 주소는 회원으로 보낼 수 있지만, 하나의 합병 된 스트림으로 검색 및 데이터베이스에 페이지. /액세서리를 사용할 수 없습니다. 그것은 전체에서 모든 그룹을 재료화, 그리고 ACCES...
회원 가입 후 1 차 우편함
Mailbox 누군가는 그들의 1 차로서 그 사람의 주소이므로 mailbox가 프로비저닝 시간에 라벨을 붙였습니다. — "Sales Desk"는 단순히 Jane Doe's 인 박스에 대한 - 사람의 이름을 autocomplete 및 수신자 카드에 compose. listMailboxe...
전체 폴더의 행위, 그냥 당신이 스크롤 한 페이지
Mark all read and 빈 폴더는 폴더 전체 작업 클라이언트 일괄 처리에 의해 표현할 수 없습니다: 그것은 단지 그 페이지만 가지고 있습니다 스크롤, 그래서 폴더 4,000 읽지 않은 80 왕복을 가지고 아직도 모든 것을 결코 로드하지. FolderManager는 setFol...
파일 복원 2b23346 떨어졌다, 과부하에 답변 413
2b23346는 HEAD에서 결코 시체되지 않은 개인 인덱스를 통해 최선을 다하고, 그래서 그 나무는 3 개의 파일 만 수행하고 커밋은 삭제 다른 231. 작업 나무는 결코 만지지 않았다; 이 나무와 복원 같은 multipart 수정을 운반합니다. 또한 MultipartLimitAdv...
매핑을 중지 1MB, 그래서 과거 이미지는 실제로 갈 수 있습니다
과거 이미지와 비교하면 베어 "이메일을 보낼 실패". 더 보기 작곡가는 야구장으로 몸 HTML을 base64 data URI로 표현합니다. Multipart "email" JSON 부분에서 Tomcat은 1MB에서 그 부분을 거부했습니다. FileSizeLimitExceedExcept...
Mailbox-change 이벤트를 게시하므로 mail view stop polling
폴더 트리, 대화 목록 및 메시지 목록 각각 자신의 30 초 timer, 뭔가가 이동 한 기회에 다시로드. WebSocket은 이미 메일이 도착했을 때 그들에게 말했지만 mailbox가 변경되는 방법 중 하나입니다. - Roundcube 또는 휴대 전화에서 메시지를 읽고, 이동, 삭제,...
Push INBOX unread counts over NATS/WebSocket instead of polling
The nav-top mail badge in kamo-internal refreshed itself by calling /api/email/folders every 30 seconds, per browser tab. That endpoint walks the entire folder ...
Hibernate를 중지 "::" 기본 SQL에서 캐스팅
Hibernate의 네이티브 query parser는 탈출 된 식민지로 "::"를 치료하고 앞으로 단 하나 ":". CockroachDB 수신 *********** ARRAY[]:text[]), '' and rejected it with: at or near ":": 구문 오류. 문...
배포 후 Indexer의 튼튼한 NATS 소비자를 다시 시도하십시오
롤링 배포 overlaps pods 및 outgoing 하나 여전히 내구성을 보유 소비자, "email-metadata-indexer"에 들어오는 포드의 결합은 실패 [SUB-90012] 소비자는 이미 구독에 바인딩됩니다. 시작() 한 번에서 @PostConstruct, 오류를 기록하고...
Metadata indexers를 배열 형 칼럼에 적응
Kamo-shared-library를 따라 지도 대화/search index string[]/UUID[]와 같은 배열 열은 List<T>보다 멈춘다. 모든 색인 된 메시지는 모두 작성되었습니다. null이 현재 명시될 수 있는 열을 읽으십시오: toSet/toArray는 빈을 반환합니...
대량 폴더 인덱스를 경계하고 구조적 실패에 중지
동시 세션에서 드문 작업, 그래서 나무가 깨끗합니다. integer로 설정된 TotalPages를 가진 대량 색인 도보된 페이지. MAX VALUE 및 없음 천장, so the folder that paging misbehaved were walk forever. 지금 그만 페이지의 ...
메시지의 주소 뒤에 사람들을 해결
메시지 헤더는 주소와 어떤 표시 이름 sender 선택 그것을 넣으십시오. 조직은 이미 훨씬 알고 있습니다 - 동료, 주소 책, 확장, 시간대 — 그리고 그 중 아무도 mailbox에 도달. POST ****************는 주소의 일괄 답변 각 뒤에 사람: 동료 (작업 제목,...
회사의 자신의 주소에 대한 납을 일치하지 마십시오
이메일이 noreply@kamocrm.com으로 설정된 리드 주소가 전송되었습니다. 1 개의 리드 레코드가 회사의 전체 아웃바운드 표면 메일 스트림 (126 협회 6 생산에 리드). 2개의 결함, 둘 다 여기에서 닫힙니다. 해결자는 "이 회사는?" email provider doma...
창이 덮여 때까지 리드 스윕을 페이지
Mailbox가 더 많은 것을 가지고 있을 때마다 단 하나 고정 페이지 침묵으로 잃어버린 우편물 ticks 사이의 pageSize 메시지 - 뉴스 레터 파열, 바쁜 공유 inbox, 또는 Active mailbox의 첫 번째 청소 - 영구적으로 손실, 때문에 max-pages 그래서 ...
Associate 리드 대응, 그리고 죽은 푸시 인덱스를 수정
리드 통신 탭의 메일 반 추가, 그리고 ingestion 그것 필요 모두에 존재합니다. 플랫폼에는 작업 메일 푸시가 없습니다. IMAP IDLE은 Dovecot에 하드 코딩되어 있습니다. Graph 변경 주석 또는 Gmail 시계 및 MessageIndexer가 표시되지 않습니다. I...
주소 응답에 응답하고, SMTP 예외를 UI로 유출
KamoCRM 알림에 대한 빠른 답변은 `{"error":"Invalid Addresses"}`로 실패했습니다. 응답 상자에 있는 verbatim를 렌더링했습니다. 그 문자열은 Jakarta Mail의 자신의 wording입니다. 사이트맵 To; pod log는 숨겨지은 것을 보여줍니다...
첨부 파일로 multipart/related HTML root 분류
모든 거래 이메일 우리는 인라인 org 로고로 보내 우리의 자신에 도착 /messages viewer 와 a 정확한 주제 과 완전한 빈 몸. isAttachmentPart()는 첨부 파일로 Content-ID를 운반하는 ANY 부품을 처리했습니다. 더 보기 multipart/relat...
9 기회 알림을위한 미리보기 샘플
여기 팔없이 관리자 이메일 템플릿 편집기는 모든 placeholder를 렌더링 빈, 그래서이 9을 사용자 정의하는 사람은 빈 골격을 편집 할 것입니다. 모든 9 팔 : 그들은 디자인에 의해 변수 세트를 공유, 그래서 단일 샘플지도 그들 각자는 충만합니다. Map.of입력 10대 지도 ...
PHI ACCESS ALERT의 미리보기 변수
SampleVariables 팔 없이 관리자 이메일 템플릿 미리보기는 모든 렌더링 placeholder blank, 그래서 누구든지 보안의 낱말을 찬성하는 것을 요구됩니다 alert는 빈 테이블을 참조하십시오. 샘플 모델 식별자 및 계산 만 — 같은 모양은 실제 경고를 운반하기 때문에,...
공유 MFA 저장소 스캔
MfaEnrollmentService는 kamo-shared-library의 @서비스이므로 와일드 카드 @ComponentScan("com.kamo") 이 응용 프로그램에서 여부 또는 이지 여부를 구성 서비스는 MFA와 함께해야 할 일이 있습니다. — 그리고 그것의 constructor...
이메일서비스를 추락한 kamo 열쇠
새로운 EmailService pod는 16e8a05 이후 CrashLoopBackOff에있었습니다. - 22 재시작, 한번 시작하세요. snakeyaml는 반복된 최고 수준에 DuplicateKeyException을 올립니다 키, 나는 두 번째 `kamo를 추가 :`는 sender-a...
진행중인 탁월한 업무
단계와 헌신적인 as-is 그래서 아무것도 작동하지 나무에서 uncommitted 남아. 1 파일 변경, 12 삽입(+)
Flaky egress에 대한 kubectl 다운로드를 Harden [skip ci]
dl.k8s.io 런너의 egress 간에 실수로 중간 전송을 삭제: 컬: (56) OpenSSL SSL read: 해독 실패 또는 나쁜 기록 맥 그렇지 않으면 녹색 빌드에 배포되지 않습니다. 반복적으로 관찰 kamo-signer-monorepo 및 카모 번역 사전. 추가 --retr...
Avatar endpoints; fix unauthenticated reachability and contact tenancy
Adds the mailbox side of sender avatars, and fixes three pre-existing holes this work would otherwise have built on top of. AUTHENTICATION. OTKPreAuthFilter us...
/api/email/campaigns에 대한 누락된 CampaignController REST 엔드포인트 추가
Bulk-email workspace/editor 호출 GET/POST /api/email/campaigns 등, 뿐만 아니라 CampaignService ( @Service)가 생성되었습니다. - @RestController가 노출되지 않았습니다. 그래서 모든 호출 404'd 및 /m...
자주 묻는 질문(FAQ)
이메일서비스는 2개의 servlets (MVC DispatcherServlet + Spring-WS를 거치합니다 MessageDispatcherServlet 에 /services/*), 그래서 베어 문자열 requestMatchers( "/api/email/unsubscribe/**")...
대량 이메일 캠페인 백엔드 - 공급자, 파견자, 준수, 실시간
Org-level 대량 이메일 캠페인에 대한 백업, 완전히 일상에서 분리 이메일 공급자 그래서 그것은 throttled/blocklisted 옆에 사업 우편물일 수 없습니다: - 대량 SMTP 공급자 (BulkEmailProviderService + BulkProviderControl...
****************를 픽업하는 재건 canonical 열쇠
소스 변경 없음. EmailService 번들 kamo-shared-library 빌드 시간, 그래서 CANONICAL KEYS 수정 (shared-lib c028131)는 런타임 자체 치유에 도달합니다. 관련 기사 이 빈 커밋 트리거는 WELCOME MEMBER가 중지합니다. Kamo...
LEADS ASSIGNED 템플릿에 대한 샘플 변수
Admin Template editor의 Preview가 새로운 템플릿을 렌더링하지 않고 모든 placeholder 공백으로, 오히려 깨진 템플렛으로 읽습니다 불완전 한 것. NoteBlock는 렌더링기가 없는 HTML을 미리 렌더링합니다. 조건 — sender는 메모가 없을 때 ""로...
OTKPreAuthFilter에서 모바일 클라이언트를위한 X- *** 토큰을 수락
x-***-Token (마칭 *********** 현재 (X-OTK 없음)이 아닌 세션을 해결하고 설정 같은 요청 속성; 잘못된 토큰은 아무것도 설정, 그래서 컨트롤러 여전히 401로 거부합니다. 세션 데이터 보호는 변경되지 않습니다.
지원 "잠금 해제" 원격 이미지 동의
와일드 카드 동의를 추가하십시오 (allowAll / isAlwaysAllowed) 그래서 회원은 선택할 수 있습니다 각 메시지의 외부 이미지를 표시합니다. 기존의 동의 테이블을 재사용 areservation sentinel 메시지 ID 키 — schema 변경 없음. POST 소개 /...
Inline-CID org 로고 (SVG->PNG) 그래서 그것은 Gmail에 렌더링; 메시지 내용을 제거; 에서 도메인 케이스 보존
- FIX (security) : 알림 이메일은 메시지 본문을 수행하지 않습니다. - 제거 messagePreview from Template vars, ledger, 샘플 및 설정 toggle. - FIX (logo) : org 로고는 SVG이며, Gmail/most 클라이언트가 렌더...
엠에디터 플러그 인 참조:Editor Sample variables for missed-message
MISSED CHAT MESSAGE 및 SUPPORT TICKET REPLY incl의 미리보기 샘플 html-escaped sender/title 변형은 canonical 몸에 의해 사용됩니다.
Microsoft 365 메일을 통해 Microsoft Graph 앱 전용 (zero per-mailbox 설정)
Microsoft 365 메일 이제 Microsoft Graph 앱 전용을 통해 / 종료 (메일.ReadWrite/메일. IMAP 대신 신청 허가를 보내세요 — 앱 credential 덮개 모든 현재와 미래 mailboxes tenant-wide, 그래서 추가하십시오 Kamo의 사서함은...
MailCredentials Redis 캐시를 깨진 xoauth2 getter를 직렬화
MailCredentials는 Redis (GenericJackson2Json)에서 캐시됩니다. 추가 `isXoauth2()` boolean getter는 "xoauth2"로 일련되었지만 필드가 없습니다. 다시, 그래서 모든 캐시 인식 읽기 threw 인식되지 않음PropertyExce...
OAuth2 (XOAUTH2)와 IMAP / SMTP를 통해 모든 클라우드 제공 업체의 메일 경로
클라우드 제공업체 (Microsoft 365, Exchange Online, Google Workspace, Zoho, IceWarp) 상속 읽기 / 종료 ****************하지만 해결자는 결코 그(것)들을 위한 대중화된 IMAP/SMTP credentials, 그래서 각 폴...
Server-side "display 외부 이미지" 동의
외부 이미지 선택의 기억하는 client-local (localStorage)를 대체합니다. 튼튼한 per-member 기록으로. 새로운 RemoteImageConsentService (파일 소프트 읽기 그래서 메시지 fetch는 여전히 테이블이 존재하기 전에 작동합니다) + POST ...
Scope KamoMail mailbox/domain listing to the org's own domain (크로스텐트 누출)
보안: **************** ran ' 가상 users'에서 직접 이메일 (그리고 *********** 'SELECT name from virtual domains') with no org scoping, so mailbox/domain sync import EVERY org'...
콜백에 OAuth 공급자를 선택하여 KamoMail으로 돌아갑니다
Microsoft 365 (또는 Google Workspace / Zoho)에 org를 전환하지 못했습니다. OAuth 콜백은 토큰을 저장하고 사전 승인 공급자 행에 만 담긴 상태 만 허용되지 않습니다. 공급자 type 및 no-op'ing을 완전히 작성하지 않았습니다. 읽는 경로는 하...
Org 테마 호스트의 환영 이메일 로고를 해결, apex하지
시스템 이메일 (welcome/verification)에 있는 우두머리/footer 로고는 건축되었습니다 *********** — Kamo에서만 존재하는 apex 경로 마케팅 사이트, 그래서 고객 orgs (e.g. optionone.com) 모두 이미지 404 및 이메일은 로고가 없습...
일정한 내부auth 비밀 비교 (timing oracle)
MessageDigest.isEqual로 String.equals를 대체하십시오 그래서 응답 대기시간은 할 수 없습니다 X-Internal-Auth 공유 비밀 바이트-by-byte를 누출하십시오. Fleet-wide 청소의 copy-pasted InternalAuthFilter (sam...
Meeting-summary 템플릿 미리보기에 대한 샘플 vars
새 모임-summary 템플릿에 대한 sampleVariables 케이스를 추가하므로 스튜어드 미리보기 UI는 현실적인 콘텐츠를 렌더링합니다.
내부 엔드포인트는 회원의 캘린더 이벤트를 만들 수 있습니다
POST /api/internal/calendar/events (X-Internal-Auth gated)는 회원을 해결합니다 -> user -> 1차 캘린더(기본값을 선택하면) 및 이벤트를 생성합니다. SecurityService가 회원 캘린더에 미러 리드 콜백에 사용됩니다.
고정 공개 리디렉션 + Gateway-forwarded 콜백
플랫폼 이메일 OAuth (Microsoft 365 / Google / Zoho)는 유효 공개가 없습니다. 리디렉션 URI : 리디렉션은 요청 호스트에서 파생되었습니다. 클러스터 내부 서비스 주소이며, 콜백 핸들러는 POST 전용. 모두에 사용되는 단일 고정, publicly-reach...
