Arrêter Hibernate mangarde le "::" moulages dans le SQL natif
L'analyseur syntaxique de la requête native d'hiberné traite ":" comme un colon évadé et vers l'avant a Un single ":". CockroachDB reçu ARRAY:texte, '') et ...
Continuer à essayer à nouveau le consommateur NATS durable de l'indexeur après un déploiement
Un déploiement roulant chevauche les gousses et la dose sortante reste la durabilité le consommateur, donc la liaison de la boîte entrante à "email-metadata-ind...
Adapter les indexeurs de métadonnées aux colonnes de type à des colonnes de type tableau
Suivre le changement de bibliothèque kamo-shared qui cartographie les conversations/recherche-index les colonnes de tableau en tant que chaîne[/UUID au lieu de ...
Limiter l'index de pliage de masse et l'arrêter en cas de défaillance structurelle
Travail non engagé d'une session simultanée, balayé de sorte que l'arbre est propre. L'index de masse a parcouru des pages avec totalPages mises en place à Int...
Ne correspondez jamais à une avance aux adresses de l'entreprise
Une piste dont le courrier électronique a été mis sur le site noreply-kamocrm.com correspondait à chaque message que Une adresse avait déjà été envoyée - un rec...
Pager le balayage de l'avance jusqu'à ce que la fenêtre soit couverte
Une seule page fixe a perdu silencieusement du courrier chaque fois qu'une boîte aux lettres a pris plus de pageSize message entre les tiques - un bulletin d'in...
Réponses à la réponse à l'adresse To et cesser de fuir les exceptions SMTP à l'interface utilisateur
Une réponse rapide à une notification KamoCRM a échoué avec «erreur»: "Invalides Adresses" rendu in extenso dans l'encadré en réponse. Cette corde est la formul...
Arrêter de classer une racine HTML multipartie/dépendante en tant qu'attachement
Chaque e-mail transactionnel que nous envoyons avec un logo d'ordre en ligne est arrivé dans notre propre /messages spectateurs avec un sujet correct et un corp...
Scanner les référentiels partagés de l'AMF
MfaEnrollmentService est un service en kamo-shared-library, donc le caractère joker «ComponentScan("com.kamo") dans cette application le permet ou non Le servic...
Fusionner la clé kamo dupliquée qui crashlooped EmailService
Le nouveau logiciel EmailService est dans CrashLoopBackOff depuis 16e8a05 et 22 redémarrages, n'a jamais commencé. snakeyaml augmente DuplicateKeyException sur ...
Harden the kubectl téléchargement contre la sortie floconneuse [skip ci
dl.k8s.io sur la sortie du coureur chute par intermittence au moyen de transferts: curl: (56) OpenSSL SSL-read: déchiffrement raté ou mauvais enregistrement m...
Ajouter les critères d'évaluation manquants de CampaignController REST pour /api/email/campaigns
L'espace de travail en gros/l'éditeur appelle GET/POST/api/email/campes, etc., mais seulement CampaignService (le « service ») a jamais été créé - non - RestCon...
Supprimer la demande de désabonnement ambiguMatcher qui a écrasé le démarrage
EmailService met en place deux servlets (MVC DispatcherServlet et Spring-WS) MessageDispatcherServlet à /services/-), donc une demande de chaîne nueMatchers ( "...
Arrêter la sérialisation de xoauth2 getter qui cassait MailCredentials Redis cache
MailCredentials est mis en cache dans Redis (GenericJackson2Json). Le texte ajouté 'isXoauth2()' booléen getter a été sérialisé comme une propriété "xoauth2" ma...
Champ d'application KamoMail boîte aux lettres/domaine de la liste des domaines de l'orge (fuite des locataires)
SÉCURITÉ: «SELECT email FROM virtual-users» (et «SELECT name FROM virtual-domains») sans ciblage, de sorte que la synchronisation de la boîte aux lettres e-mail...
Persister le fournisseur OAuth sélectionné sur le rappel de sorte qu'il cesse de revenir à KamoMail
Le passage d'une barre d'appel à Microsoft 365 (ou Google Workspace/zoho) n'est jamais bloqué: le rappel OAuth stocké les jetons et n'a que le statut retourné s...
Résoudre le logo de l'e-mail de bienvenue à partir de l'hôte du thème de l'organisation, et non du sommet
Des logos d'en-tête/pieds dans les e-mails du système (accueil/vérification) ont été construits comme Un chemin de pointe qui n'existe que sur le Kamo site de m...
Comparaison secrète interne-auth à temps constant (oracle de timing)
Remplacer String.equals par MessageDigest.isEqual donc latence de réponse ne peut pas f) L'octet-pare-byte-byte partagé X-Internal-Auth. Agrandir le balayage à ...
Retour 422 (not 500) lorsque le membre n'a pas de boîte aux lettres
ListeFolders et autres critères d'évaluation de lecture ont jeté IllegalStateException à partir de MailContext.toMailCredentials() lorsqu'un membre n'avait pas ...
N'enregistrez pas transactionnelle NoReply sends to a Sent folder
NoReply est une adresse d'envoi uniquement sans boîte aux lettres, mais chaque transactionnelle. envoyer toujours une tentative d'ajout IMAP à son dossier Envoy...
La liste des boîtes aux lettres API retourne en forme d'UI
GET /api/email/mailboxes renvoyés l'entité brute (prestatut de fournisseur, lastSyncedAt, aucun décompte des membres). Les paramètres de l'UI se lit comme suit ...
Authoriser l'accès à la boîte aux lettres basée sur les privilèges pour lire et envoyer
resolveForMailbox n'accorde l'accès que via une affectation directe de la boîte à messagerie, C'est-à-dire des boîtes aux lettres en faisant surface à travers l...
Préserver le nom de fichier d'origine et le type de contenu au téléchargement de la pièce jointe
Les critères d'évaluation (les deux à la personne et les contrôleurs de la boîte à messagerie partagée) émettaient la disposition de contenu: pièce jointe sans ...
Synchronisation des membres.email lorsque la boîte aux lettres primaire est attribuée, modifiée ou supprimée
Lorsqu'une boîte aux lettres a été attribuée à un membre d'un groupe d'adresses KAMO-MAIL, membres.email n'a jamais été mis à jour, ce qui a amené EmailCredenti...
Marque en lecture en lecture pour les boîtes aux lettres partagées et les boîtes aux lettres membres
EmailController.setFlags accepte maintenant un param optionnel mailboxId query et les itinéraires via la résolutionProviderWithMailbox de sorte que les drapeaux...
Mandulation IMAPInputStream dans getMessage pour empêcher ClassCastException
JavaMail peut renvoyer une IMAPInputStream au lieu d'une chaîne décodé à partir de partie.getContent() lorsque le contenu du message n'a pas été pré-comblé. Le ...
Utiliser getHastachments() pour correspondre à l'emballage booléen
est un booléen (étouveur), donc Lombok génère getHasAttachments() not isHasAttachments(). Ce dernier seul existe pour booléen primitif. Utiliser Boolean.TRUE.eq...
Reset stale hasApicements en synchronisation et accumulation correctement
- Reset has-tachs-tachs-fausse au début de la synchronisation de la masse de manière aussi périmés valeurs vraies à partir d'anciennes détections MIME faussem...
Soutien de l'annulation de l'envoi d'Adress
Adds FromAddaddressRequest à EmailSendRequest afin que le frontend puisse spécifier quelle adresse alias/partagé/case de courrier à envoyer. SmtpOnlyProvider ma...
Correction de l'analyse des fixations et has
Trois corrections à EmailImapService: 1. à Envelope: contrôle en plusieurs parties étroites en plusieurs parties/mélange seulement Les e-mails en texte (mul...
Ajouter com.kamo.z.shared.commerce pour permettre la numérisation des référentiels Jpa
(nécessaire par dans la bibliothèque partagée) vit sous la direction de com.kamo.z.shared.commerce mais n'était pas inclus dans la numérisation du référentiel J...
Nom du champ correct et type dans getFromAddresses response
Backend envoyait la clé 'email' mais frontend attendue 'adresse', et envoyer le type 'shared-mailbox' lorsque le frontend s'attendait à "partagé". Corrections é...
Retournez aux domaines d'org lorsque pas d'e-mails-fournisseurs-domaines ne défini par défaut
KamoMailDomainValidator était difficile avec 403 pour les organisations qui ont un Domaine vérifié DNS dans les domaines d'org mais ne l'a jamais ajouté à l'e-m...
Retourner la réponseÀ modifier le . smtpService.send prend les pièces jointes non répond
Filtre d'état du fil et modèles d'auto-amorçage requis sur la liste
- EmailTemplateCroller.list() accepte désormais le système et les filtres de statut à l'aide de la requête start-série findByOrgIdAndStatus - Moteurs d'auto-a...
Preview utilise les mêmes auto-vars que sendToUser (logo et nom d'org)
Le critère de prévisualisation injecte maintenant le logoUrl, le logoSimpleUrl et l'orggName le domaine de l'organisation avant l'application de variables de co...
Mettre à jour les vars de l'échantillon de EMAIL-VERIFICATION pour correspondre au modèle actuel
Utiliser expirationText au lieu d'expirationMinutes (variable de re-rebaptisé), et mise à jour verifyLink pour pointer vers le sous-domaine du registre (chemin ...
Préserver le cas de domaine DB dans NoReply à partir de l'adresse
Suppression enBasé surLowerCase() - le domaine provient déjà de la resolvePrimaryDomain qui lit org-domains à partir de la base de données, donc cas est canoniq...
Résoudre le domaine racine pour NoReply à partir de l'adresse au lieu de sous-domaine nue
resolvePrimaryDomain() renvoyait la première entrée de domaine (par exemple "www") qui a produit NoReply-www. Maintenant, il préfère les domaines racines (paren...
Ajouter interne.auth.secret à EmailService configmap
InternalAuthFilter rejetait tous les appels de service à service (endire, seed-org) avec 503 parce que internal.auth.secret était non configuré. Correspond au m...
Autoriser l'envoi transactionnel sur les modèles de relais port-25 et d'auto-semences manquantes
Port-25 SMTP (postfixe) n'a pas besoin d'auth et transactionalCredentials() était lancer ProviderUndisponibilitéException lorsque l'utilisateur/passé était non ...
Ajouter dao.repositories à la numérisation de l'APP afin de trouver EmailTemplateRepository
Même modèle que KamoInitializerService et base explicitePacks overs scanner par défaut et inclure chaque paquet qui a des référentiels.
Renommer la réponse de la liste mailboxId et providerStatus-status dans la liste des boîtes aux lettres
Alignez les noms des champs avec les attentes frontales pour les listes de boîtes aux lettres membres.
Prise en charge de la commutation de la boîte aux lettres en résolvant les identifiants IMAP par boîte aux lettresId
getMailCredentialsByEmail pour rechercher les utilisateurs virtuels par e-mail directement, la caser à MailProviderResolver avec vérification d'accès, et option...
Rebaptiser DomainService en EmailDomainService pour résoudre le conflit de nom de haricots
DomainService de la bibliothèque partagée et le service local d'EmailService les deux enregistrés en tant que haricot «domainService», provoquant le déploiement...
Signatures correctes dans DomainController et MailboxController
- Réparez les boîtes à sous-boxes de réception et getMailboxes - Ajouter le paramètre MemberId manquant pour getVerificationRecords et vérifierDomain dans Domai...
Extrait des destinataires BCC des messages IMAP
L'en-tête BCC est conservé sur les copies de dossiers envoyées. Maintenant extrait à côté To et CC afin que le frontend puisse l'afficher dans les aperçus d'élé...
Fournisseur GET retourne à la fois type et fournisseurType, PUT accepte les deux
GET /api/email/provider inclut désormais à la fois les champs «type» et «fournisseurType» dans la réponse pour la compatibilité frontale. PUT accepte maintenant...
Comme ce que tu vois expédier ?
Tout cela arrive dans votre espace de travail par lui-même. Commencez sur le plan gratuit et relisez cette page dans un mois.
