メタデータのインデックスを配列型カラムに適応
会話/search index をマップする kamo-shared-library 変更に従う 配列の列を String[]/UUID[] ではなく List<T> とすると、停止したカラム すべてのインデックスメッセージは、すべてで書かれています。 null になるカラムを読み込む explicit: toSet...
バルクフォルダのインデックスをバウンドし、構造上の失敗を阻止
並行セッションから出入りしないと、ツリーがきれいになります。 一括インデックスは、整数にセットされた総ページでページを歩く。 MAX VALUE と いいえ 天井なので、メッセージングの誤ったフォルダは永遠に歩くでしょう。 今は止まる ページの固定数の後、ページのサイズをキャップし、十分な数を一度に 成功なしの連続失...
メッセージのアドレスの背後にある人々を解決する
メッセージヘッダは、送信元が選択したアドレスと表示名を知っています。 横に置く。 組織はすでにもっと知っています。同僚、住所 書籍、エクステンション、タイムゾーン、およびメールボックスに達していないもの。 POST ****************は、アドレスのバッチに応答します 各人の後ろにいる人:同僚(仕事のタイ...
自社のアドレスに対するリードにマッチしない
電子メールがnoreply@kamocrm.comに設定されたリードは、すべてのメッセージに一致する アドレスが送信されました。1つのリードレコードは、同社のアウトバウンド全体に直面しました メールストリーム(生産における6つのリードを含む126の関連付け)。 2つの欠陥、両方はここに閉鎖しました。 決議者は、メー...
ウィンドウが覆われるまでリードスイープページ
メールボックスが複数件を取られたら、単一の固定ページが無事にメールを失いました pageSize のメッセージは、ニュースレターのバースト、忙しい共有受信トレイ、または アクティブなメールボックスの最初の掃引 — 永続的に失われたので、 max-pages なので、大きめのメールボックスが一目瞭然ではない。 その境界...
鉛の対応を関連付け、死んだ押しの索引を修理して下さい
リードコミュニケーションタブのメールの半分を追加し、必要な摂取 全てに存在する。 プラットフォームには、作業メールのプッシュはありません。IMAP IDLEはDovecotにハードコードされています。 グラフ変更通知やGmailの監視、MessageIndexerが破棄されていない IDLE 出版社が UID を省略...
アドレスは、Response-To で応答し、SMTP 例外を UI に漏洩しないようにします
KamoCRM通知への迅速な返信は、{"error":"無効なアドレス"}"で失敗しました 応答ボックスに、レンダリングされた動詞。 その文字列は、ジャカルタメールの独自の言葉遣いです SMTPTransport.rcptの特長 に; Podのログは、それが隠れていたものを示しています: 550 5.1.1 <NoR...
マルチパート/関連HTMLのルートを添付ファイルとして分類するのを止める
弊社がインラインされた org ロゴをお送りするすべての取引メールは、当社に届きました。 /messagesビューアは正しい被写体と完全に空のボディを持つ。 isAttachmentPart() は、Content-ID を添付ファイルとして運ぶ任意の部分を処理しました。 ザ・オブ・ザ・ 複数の部分/関連のテキスト/...
9つの機会通知のプレビューサンプル
管理者メールテンプレートエディタがすべてのプレースホルダーをレンダリングするアームがない 空白なので、これらのnineをカスタマイズする人は空のスケルトンを編集します。 すべての9のための1つの腕:それらは設計によって置かれる変数を共有します、従って単一のサンプル・マップ それぞれを忠実にレンダリングします。 Map...
PHI ACCESS ALERT のプレビュー変数
SampleVariables 腕なし 管理者メールテンプレート プレビュー 全てをレンダリング プレースホルダーブランクは、セキュリティの文言を承認するように求められているので、 アラートは空のテーブルが表示されます。 サンプルモデルの識別子とカウントのみ — 実際のアラートが決して運ぶので、同じ形の実際のアラートは...
共有MFAリポジトリをスキャンする
MfaEnrollmentService は、kamo-shared-library の @Service なので、ワイルドカード @ComponentScan("com.kamo") このアプリケーションでは、このかどうかを構成します。 サービスには、MFAで何をすべきか、そのコンストラクタのニーズ UserMfaE...
クラッシュループされた電子メールサービスが重複するカモキーをマージ
16e8a05 — 22 以降、新しいメールサービス pod は CrashLoopBackOff に入っています。 はじめに。 ヘビヤml は、繰り返されたトップレベルの DuplicateKeyException を上げます キーと、2番目の `kamo:` ブロックを1つにすると、送信者アバターキルスイッチのブロ...
進行中の優れた仕事をコミットする
ステージングとコミットしているのは、作業ツリーにコミットされていないままです。 1 ファイルが変更され、12 のインサート(+)
Kubectlのダウンロードをフラッキ・エグレッシにハードン [skip ci]
dl.k8s.io オーバー ランナーのエグレッション 断続的にミッドトランスファーをドロップ: curl: (56) OpenSSL SSL read: 復号化が失敗したか、悪いレコードマック それ以外の緑のビルドでデプロイが失敗する。 繰り返し観察 kamo-signer-monorepoとkamo-transla...
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 の REST エンドポイントが不足しているキャンペーンController REST エンドポイントを追加
一括メールワークスペース/editor GET/POST /api/email/campaigns などを呼び出すが、 キャンペーンサービス(@Service)が作成されました。 そのため、404'd と /marketing/email ページに "Not Found" インラインをレンダリングします。 キャンペー...
起動をクラッシュした巨大なunsubscribe RequestMatcherを削除
メールサービスには2つのサプレット(MVC DispatcherServlet + Spring-WS)をマウント MessageDispatcherServlet at /services/*) なので、ベアストリングリクエストMatchers() "/api/email/unsubscribe/**") は、曖昧な...
バルク電子メールキャンペーンバックエンド — プロバイダー、ディスパッチャ、コンプライアンス、リアルタイム
Orgレベルのバルク電子メールキャンペーンのバックエンド、完全に日常から分離 電子メールプロバイダは、ビジネスメールと一緒にスロットル/ブロックリストすることはできません。 - バルクSMTPプロバイダ(BulkEmailProviderService + BulkProviderController): 暗号化され...
ピックアップに再構築 ******************************** キャノンキー
ソースの変更はありません。 emailService はビルド時に kamo-shared-library をバンドルします。 CANONICAL KEYS の修正 (shared-lib c028131) は、実行時の自己治癒のみに達します。 再構築。 この空のコミットは、WELCOME MEMBERが停止を送信する...
LEADS ASSIGNEDテンプレートの変数のサンプル
ここで、管理者テンプレートエディタのプレビューが新しいテンプレートをレンダリングしない すべてのプレースホルダーブランクで、ではなく壊れたテンプレートとして読みます 未記入のもの。 NoteBlockはレンダラーが存在しないため、あらかじめレンダリングされたHTMLです 条件 — 記法がない場合、送信者はそれを "" ...
OTKPreAuthFilter のモバイルクライアントで X-***-Token を受け取る
per-tab セッション ID を X-***-Token として (マッチする **********************************************************************************************************************...
「永遠にブロック解除」リモートイメージの同意をサポート
ワイルドカードの同意を追加します。(All / isAlwaysAllowed) 外部イメージをすべてのメッセージに表示します。 既存の同意表を経由して再利用する 保存された sendinel メッセージ ID キー — スキーマの変更はありません。 ポスト /remote-image-consent エンドポイントは...
インラインCID orgロゴ(SVG->PNG)なので、Gmailでレンダリングします。メッセージ内容を削除します
- FIX(セキュリティ):通知メールは、メッセージ本文を運ぶ必要はありません — 削除 メッセージテンプレートのvars、ledger、サンプル、設定のトグルからプレビューします。 - FIX(ロゴ): orgロゴは、Gmail/mostクライアントがレンダリングを拒否するSVGです。 emailLogoServic...
ミスメッセージ通知テンプレートのエディタサンプル変数
MISSED CHAT MESSAGEとSupport TICKET REPLYのプレビューサンプルは、生対を含む html-escaped 送信者/ファイル名の変数は、canonical ボディによって使用されます.
Microsoft グラフアプリ専用(ゼロ/メールボックス設定)による Microsoft 365メール
Microsoft 365 のメールが Microsoft Graph アプリのみで読み込み/送信できるようになりました。 (メール.ReadWrite/Mail.) IMAPの代わりにアプリケーション権限を送信 — 1つのアプリ クレデンシャルは、現在および将来のメールボックスのテナント全体をカバーするので、 カモの...
MailCredentials Redisキャッシュを破った計算されたxoauth2ゲッターのシリアライズを停止する
MailCredentials は Redis (GenericJackson2Json) でキャッシュされます。 追加された `isXoauth2()` boolean getter は "xoauth2" プロパティとしてシリアライズされましたが、フィールドは読みません に戻って、すべてのキャッシュされた cred...
OAuth2 (XOAUTH2) で IMAP/SMTP を介してすべてのクラウドプロバイダーのメールをルートする
クラウドプロバイダー(Microsoft 365、Exchange Online、Google Workspace、Zoho、IceWarp) ****************************************************************************************...
サーバー側の「外部画像を表示」同意
外部画像選択のクライアントローカル(localStorage)を置き換える 耐久性のあるパーメンバーレコードで。 新しい RemoteImageConsentService (fail-soft が読み込まれる) メッセージフェッチはテーブルが存在する前に動作します) + POST /api/email/remote-...
スコープカモメールのメールボックス/ドメインは、org のドメイン (クロステナントリーク) にリストします
セキュリティー:******************************************************************** 'sELECT name From virtual domains' は org のスキャッピングを行わないため、 mailbox/domain は、Every or...
Persist はコールバックで OAuth プロバイダーを選択しているため、KamoMail への変換を停止します
Microsoft 365 (またはGoogle Workspace / Zoho) に org を切り替えることは決して立ち往生しません。 OAuth コールバックはトークンを保存し、既存のプロバイダーの行にのみ、 org が行っていないとき、provider type と no-op'ing を完全に書きません。 ...
Apexではなく、orgテーマホストから歓迎メールロゴを解決する
システムメール(welcome/verification)のヘッダ/フッターロゴは、 **************** — カモにのみ存在する apex パス マーケティングサイト, そのため、顧客 orgs (例:optionone.com) 両方の画像 404 と メールはロゴレスをレンダリングします。 resol...
常時内部の秘密の比較(タイミングのoracle)
文字列.equals を MessageDigest.isEqual に置換するので、応答レイテンシーは変更できません。 X-Internal-Auth 共有シークレットバイト単位をリークします。 艦隊ワイドスイープの copy-pasted 内部AuthFilter (same は eClose に既に出荷され、 ラ...
ミーティングのテンプレートプレビュー用のvarsのサンプル
新規ミーティングのテンプレートのsampleVariablesケースを追加して、スチュワード プレビュー UI は現実的なコンテンツをレンダリングします.
会員のカレンダーイベントを作成/作成する内部エンドポイント
POST /api/internal/calendar/events (X-Internal-Auth gated) がメンバーを解決 → user -> プライマリ カレンダー(必要に応じてデフォルトを編集)してイベントを作成します。 SecurityService がメンバーのカレンダーにリードコールバックをミラー...
固定パブリックリダイレクト+ゲートウェイフォワードコールバック
プラットフォームのメール OAuth (Microsoft 365 / Google / Zoho) は、有効な公開がなかった リダイレクト URI: リダイレクトはリクエストホストから派生しました。 クラスター内サービスアドレスであり、唯一のコールバックハンドラは POST専用 単一の固定された、一般に到達可能なリダ...
ワイヤーmlos-internal-auth(INTERNAL AUTH SECRET)をデプロイする[skip ci]
メールサービスの内部AuthFilterガード/api/email/templates/send + /seed-org 内部.auth.secret, 設定されていない (fail-closed 503). 既存の共有 生産値(mlos-internal-auth)なので、SecurityServiceの回復-メール...
会員がメールボックスがないときに422(500)を返す
listFolders と 読み終点 threw IllegalStateException から MailContext.toMailCredentials() 会員がIMAPの認証を受けていない場合 コントローラのキャッチオールを500に変えたプロビジョニング。 追加する MailboxNotConfiguredE...
トランザクション NoReply を Sent フォルダーに保存しないでください
NoReply はメールボックス無しの送信専用アドレスですが、全てのトランザクション IMAP を Sent フォルダーに追加し、 ノイズを生成 AUTHENTICATIONFAILEDの警告を各送信に送信します。 saveToSent フラグを追加する emailSmtpService.send (実際のメールボック...