Changelog

All the latest updates, features and improvements to MailMCP.

03 August 2026

Update

Conversion : nudge sur le mur des 5 appels/jour (message MCP enrichi + email auto Free->Pro)

New

Alerte observabilite : filtre le spam/phishing des mails support (plus d'alerte pour les arnaques 'domaine suspendu')

Update

Observabilite : filtre les rejets SMTP destinataire (Recipient address rejected / No valid recipient) = erreur input LLM, pas notre bug

Update

create_folder idempotent : dossier deja existant = succes (fin du faux positif 'bug')

31 July 2026

Update

Upgrade Pro : le flux generique renvoie vers Comptes email pour choisir la boite

Update

Webhook Polar : matching de secours par user_id/email quand account_id absent (flux seats)

Fix

Daily stats : fix variable $num manquante dans la closure delta

Update

Daily stats : mail matinal en dashboard HTML + ventes/CA de la veille + churn

30 July 2026

Fix

Fixes: server/discover en INFO+(-32601), message quota adapte au Pro, formulations Pro exactes (fin des 'illimites')

Update

CGV : article 'Commande, facturation et paiement' complet (exigences Polar MST + droit FR)

Update

Quota Free: corrige '20 -> 5 appels MCP/jour' sur tout le site (le quota reel est 5)

Update

Legal : allege l'editeur (mentions), corrige les quotas CGV, DPA en page imprimable

Doc

Legal : refonte en centre légal structuré (1 document = 1 page)

Update

Legal/statut : alleger sous-processeurs + epurer la page /status

Update

Mentions legales : ajout du bloc Prestataire de paiement (Polar Software Inc., Merchant of Record)

Update

Paiement : expliquer au client le role de Polar (Merchant of Record) + corriger 'Stripe' -> 'Polar'

Update

CGV : Stripe -> Polar (Merchant of Record) + palier Free = essai, pas de remboursement au-dela du delai legal

New

support:import-external : echec IMAP transitoire -> WARNING + SUCCESS (au lieu de FAILURE)

29 July 2026

Update

Live chat : bulle plus humaine (photo + 'Assistant IA' + point vert anime ping) + en-tete dynamique (nom — Assistant IA, statut 'En ligne · l'IA peut faire des erreurs' avec point vert anime)

Update

Profil : pre-remplit le pays avec le pays detecte a l'inscription (registration_country) si le champ est vide

Update

observability:alerts : ignore les erreurs des scripts de diag CLI (trace 'Standard input code')

Fix

Paiement ouvert a tous : gate IP leve + fix metadata Polar (account_id vide refuse -> omis si absent)

Update

Upgrade : badges de confiance = icones colorees + texte, sans fond/bordure (ne fait plus 'bouton')

Update

Upgrade : badges de confiance en pastilles colorees (vert=securite Stripe, bleu=facture TVA, indigo=resiliable) plus visibles

Update

Page upgrade plus vendeuse : reassurance 'test gratuit', preuve sociale, badges confiance (Stripe/TVA/resiliable)

Update

Facturation : retire le blocage avant Pro, Polar collecte l'adresse + webhook la synchronise

Update

Facturation : pays requis + adresse obligatoire avant Pro + autocomplete adresse (Photon/OSM)

Update

Upgrade : bloquer la souscription tant que l'email n'est pas verifie

Update

Profil : Full name + champs requis/optionnel + select pays recherchable

Update

Devise : regle Europe->EUR / hors Europe->USD + pays d'inscription pour les users connectes

Update

Devise auto selon le pays (US=USD, sinon EUR) + page upgrade currency-aware

Update

Tarifs : retire la mention '10 boites en annuel = 19,90/mois refacturable' (home #pricing + /pricing) — chiffre incoherent avec la grille par-boite

Update

Quota par boite : filet de securite pour les clients payants (plan au niveau user)

Update

Quota MCP par boite (aligne sur le tarif par siege)

Update

Page compte : formulaire d'edition des parametres de connexion (reconnexion)

Update

Upgrade : lien CGV selon la langue active (EN -> /en/legal#terms, FR -> /legal#terms)

Update

Dates d'expiration + resiliation Pro + downgrade auto + CGV obligatoires

Update

Phase 3 : webhook Polar -> provisioning Pro par boite (metadata.account_id)

Update

Factures : onglet dedie 'Facturation' dans /dashboard/profile (retire de la page upgrade)

Update

Offre par boite (siege) : badge + bouton upgrade sur chaque compte

Update

Dashboard: badge plan + bouton Passer a Pro + page souscription Polar (gate IP preview)

Update

Tarifs : selecteur 3 paliers (Mensuel / 12 mois -63% / 24 mois -75%) + textes

Update

ObservabilityAlerts : silence 'non trouve ou deja envoye' (cancel_scheduled input)

28 July 2026

Update

Legal : bascule editeur MailMCP vers STAY WEB (SASU) + nouvelle adresse

Doc

Doc chatgpt-email : write fonctionne aussi sur Plus (test reel), retrait du caveat lecture seule

Fix

MCP OAuth : renvoyer le scope demandé dans la réponse /token (fix warning ChatGPT)

Doc

Doc chatgpt-email : corriger le prerequis de plan (Developer mode, write Business/Enterprise)

Update

MCP OAuth /authorize : ne plus rejeter un client dyn_ dont l'enregistrement a expiré

27 July 2026

Update

ObservabilityAlerts : silence 'filename et (content OR attachment_id)' (PJ input LLM)

Update

MCP draft_email : auto-créer le dossier Brouillons si absent + détection localisée

26 July 2026

Update

ObservabilityAlerts : silence 'réservée aux comptes Pro' (gate Outreach Free->Pro)

24 July 2026

Update

MCP move_email : accepter folder/target/dest… en alias de destination

22 July 2026

Update

ObservabilityAlerts : silence 'Failed to connect to IMAP server' (miroir anglais)

Update

MCP move_email : resolver de destination (namespace préfixé + dossier existant)

21 July 2026

Update

ObservabilityAlerts : silence 'Impossible de se connecter au SMTP' + 'RateLimitReached'

20 July 2026

Update

MCP : accepter q/search/term/keyword en alias de query (search_emails)

18 July 2026

Update

ObservabilityAlerts : silence 'base64 invalide après' (troncature PJ)

Update

ObservabilityAlerts : silence 'contenu base64 invalide'

17 July 2026

Update

ImapService : encoder les noms de dossiers en modified UTF-7 (RFC 3501)

Update

ObservabilityAlerts : silence 'Combined chunks could not be decoded'

Update

MCP : accepter email_id/emailId en alias de id sur les tools email

16 July 2026

Fix

MCP : toggle par-BAL pour l'alerte "nouvelle IP" (fix ticket Max Kossatz #242544)

14 July 2026

Update

ObservabilityAlerts : silence 'SMTP rejected email'

Update

ObservabilityAlerts : silence 'Generate signature failed'

Update

ObservabilityAlerts : silence 'Email ID is required'

07 July 2026

Update

Onboarding rescue funnel : 3 mails auto de rattrapage (H+48h / J+3 sans BAL / J+3 sans call MCP)

06 July 2026

Update

MCP dispatcher : fallback tolérant method=tool_name + silence l'alerte résiduelle

Update

Dashboard accounts/{id} : onglet Statistiques MCP — Option B

Update

Dashboard accounts : ajoute compteur MCP inline (aujourd'hui/semaine/mois) — Option A

Update

search_emails/list_emails : expose 'mailbox' + 'note' pour éviter le bug UID cross-mailbox

Fix

OAuth refresh_token : grace period 30s après revocation (fix race condition claude.ai)

Update

TEMP: log détaillé tools/call pour diag pourquoi mcp_calls reste vide

Fix

urgent : restaure le fallback OAuth /authorize (safe) — claude.ai n'envoie pas de resource

Fix

balise <title> dashboard — strip_tags sur page-title pour retirer HTML/SVG

Update

Sécurise le OAuth MCP /authorize — exige login + consent + supprime le fallback dangereux

04 July 2026

Update

UX sidebar : signaler la cliquabilité de la user card (profil)

Fix

Chrome password suggestion — ajout autocomplete sur profile/login/reset

Update

i18n /dashboard/accounts batch 2 : wizard entier (step 1/2/3)

Update

i18n /dashboard/accounts batch 1 : strings hors wizard

Update

Wizard : URLs des steps provider cliquables (target=_blank)

Guide

P1 wizard BAL : guide contextuel provider + auto-fill hosts + conseils erreur

03 July 2026

Update

Review asks : rate 20→10/jour + section stats dans daily report 08:00

Update

Stats mail auto : sélecteur de période 30j / 3 mois / 12 mois / Tout

Update

Stats mail auto : CTR global + CTR par trigger

Update

Ajoute section « Détail des 4 triggers » (accordion) dans onglet Mail auto

Update

Ajoute les mails automatiques (review-ask, review-followup) dans l'onglet Templates

Update

Système auto de demandes d'avis Trustpilot (feature flag OFF par défaut)

Update

Filtre business : « non trouvé ou déjà envoyé » (cancel_scheduled stale)

02 July 2026

Fix

SMTP bare LF rejection (552) — normalise CRLF sur body/bodyHtml/htmlSignature

01 July 2026

Update

send_email/draft_email/schedule_email : ajout du champ bcc

30 June 2026

Update

observability:alerts — filtre 'base64 invalide après' (PJ inline tronquée)

Update

Alerte MCP enrichie : localisation, ASN, client probable, user-agent

26 June 2026

Update

observability:alerts — filtre 'Combined chunks could not be decoded as base64'

Update

observability:alerts — filtre 'Recipient address rejected' (user input)

Update

security: bump guzzle 7.11→7.12, psr7 2.11→2.12, phpseclib 3.0.52→3.0.55

24 June 2026

Update

observability:alerts — filtre 'Failed to move email' (erreur user input)

22 June 2026

Fix

observability:alerts — affiche "FIX PROBABLE : commit XXX" si commit post-erreur

Fix

Schedule::command->everyTwentyMinutes() n'existe pas, utiliser cron('*/20 * * * *')

Update

MCP base64 PJ : détection troncature dès 2KB + signatures binaires

18 June 2026

New

support:check-followups : skip si on a re-écrit au client après le Sent en question

17 June 2026

New

support:check-followups : skip alerte J+24h si ma réponse n attendait pas de retour

Update

MCP OAuth : tokens persistants en DB + refresh_token (transparent côté Claude)

16 June 2026

Fix

attribution: exempter mailmcp_attrib de EncryptCookies

Fix

SmtpService::sendMail : split 'to' string comma/semicolon-separated

Fix

observability:alerts : filtrer is_answered=false dans detectNewSupport

Fix

filtre support:import-external trop large (catchait threads internes LWS)

Fix

2 trous identifiés sur support : placeholder + sync externe

15 June 2026

Fix

Phase 6 : header Top traffic sources désaligné (4 cells body / 3 cells head)

Fix

Phase 6 : utiliser registration_country (rempli au signup) au lieu de users.country (réservé billing)

Update

Phase 6 analytics : colonne Inscriptions sur toutes les tables

Update

Phase 5 analytics : export CSV + rapport mensuel auto

Update

Phase 3 analytics : line chart SVG avec overlay période précédente

Update

Phase 2 analytics : funnel d'inscription + landing pages + sources de signup

Update

Phase 1 analytics : précision device_type + skip self-crawlers

Fix

MCP OAuth loop + notifications spam logs

14 June 2026

Update

MCP delete_email : message d'erreur actionnable + filtre alerte

11 June 2026

Update

Crawl quotidien broken-links + alerte mail nicolas@lws.fr

Fix

2 erreurs 404/403 trouvées par le broken-link checker

Fix

/compare 404 + ajout broken-link checker

New

Add apple-touch-icon-precomposed.png (copy of apple-touch-icon.png) — fixes iOS 404

Update

Analytics : User-Agent + device type + score bot + détection bots IA séparés

Update

Analytics: lecture en direct depuis page_views (plus dépendant du rollup cron)

Update

Analytics : dashboard stats site dans le BO + tracking RGPD-friendly

10 June 2026

Update

MCP read_email/mark_read : message d'erreur précis + filtre alerte

Update

MCP attachment chunked : tolère les 2 stratégies de découpage base64

09 June 2026

Update

Observability : filtre aussi schedule_email avec date passée

Update

MCP draft_email : message d'erreur précis (parité avec send_email) + filtre

07 June 2026

Update

MCP OAuth : client_id inconnu = WARNING, pas ERROR + filtre alertes

29 May 2026

Update

MCP upload chunké : instruction next_action explicite pour forcer Claude à finir

28 May 2026

Update

Observability: re-test live avant d'alerter sur une régression compte

Update

MCP OAuth : ne plus exiger client_secret quand PKCE est validé (OAuth 2.1)

27 May 2026

Update

MCP: message d'erreur explicite quand base64 tronqué sur grosse image

Update

MCP : upload chunké pour pièces jointes volumineuses (> ~75KB)

Update

MCP send_email : images inline via cid: (RFC 2392) + auto-convert data URI

26 May 2026

New

SupportInboxSync : dédup pour ne plus créer de doublons après move IMAP

Fix

/subprocessors 500 — apostrophe parasite dans le __() cookies

Fix

emails affichés en double @@ partout — @@ n'est pas un escape en texte libre

Update

MCP attachments : tolérer base64 multi-ligne + préfixe data URI

Fix

détection EU provider insensible à la casse

Update

Conformité IA/RGPD : centralisation OpenRouter + log métadonnées + transparence

25 May 2026

Update

Réduction du bruit log : 3 bugs analysés et adressés

Update

ObservabilityAlerts : filtre les erreurs business + parse JSON contexte

Update

MCP move_email : auto-création du dossier de destination + meilleure description

Fix

2 bugs sur les stats observabilité

Update

Observability : split en alerts événementiels + daily stats (au lieu d'un mail horaire générique)

Update

Observabilité : redirige les digests vers nicolas@lws.fr (au lieu de Gmail perso)

Update

Observabilité : digest auto mail chaque heure si l'état système change

Update

Funnel tracking : combler les 5 gaps d'instrumentation identifiés

22 May 2026

New

SMTP STARTTLS support + user_events funnel + account_setup log channel

Fix

SMTP : fix greeting multi-ligne + fallback AUTH PLAIN (cas thundercloud / Charlie Lidbury)

New

Support inbox : lecture depuis DB cache (au lieu d'IMAP direct)

New

Support inbox : cache DB des emails (sync IMAP, rétention 45j, scheduler 10min)

12 May 2026

Update

MCP OAuth: token longue durée (30j) sans refresh — pattern repris de gadspilot

11 May 2026

Update

Outreach: présenter la feature comme 'bientôt disponible' avec teaser complet

Update

MCP OAuth : TTL access token 1h → 24h (refresh 30j → 90j)

Update

MCP: corriger discovery send_email (description simplifiée + instructions assertives)

10 May 2026

Update

ApifyService: logging détaillé + timeout 50s→90s + champ 'videos' input

Update

Outreach: actor Apify exporter24/youtube-email-bulk-scraper validé

Update

Outreach: filtre 'Min abonnés' dans find-similar (élimine nano-chaînes)

Update

Outreach: extraction IA des mots-clés thématiques (au lieu de fréquence)

Update

Outreach: pré-remplissage mots-clés find-similar + alerte actor Apify

Update

Outreach: 3 améliorations UX (bulk delete, Apify per-row, find-similar preview)

Fix

Outreach: fix find-similar (mots-clés desc.) + intégration Apify (Step 6)

09 May 2026

Update

Outreach: feature 'Trouver des chaînes similaires' (YouTube search.list)

Update

Outreach: tabs bulletproof — class Tailwind 'hidden' au lieu de CSS custom

Fix

Outreach: bouton bulk rescan + fix bug tabs (timing JS)

Fix

Outreach: dédup chaîne, rescan, copy/open URL + fix bug tabs

Update

Outreach: extraction email depuis ytInitialData JSON dans /about

Update

Outreach: cascade Step 5 — scan des 5 dernières descriptions vidéos

Update

Outreach: déblocage UX (saisie email manuelle, suppression cible, tabs)

Update

Outreach: 3 fixes (UNIQUE race, URLs vidéo, batch resilience)

Update

Outreach: ajout suppression de campagne (icône liste + bouton détail)

Update

Outreach: mode live (dispatchSync) — pas besoin de worker queue

Update

Outreach: WebsiteContextService — l'IA visite le site du user pour écrire un pitch factuel (au lieu de placeholders [à préciser])

Update

Outreach: pitch IA plus persuasif (preuve sociale + tarifs explicites)

Update

Outreach: pré-remplissage pitch + brief IA depuis le profil utilisateur

06 May 2026

Update

Phase 6: 4 outils MCP outreach exposés à Claude/ChatGPT/Cursor

Update

Phase 5: dashboard UI outreach branchée sur les services réels

Update

Phase 4: jobs async outreach (Find + Send) avec retry et idempotence

Update

Phase 3: services métier outreach (Quota, YouTube, EmailFinder, Pitch)

Update

Phase 2: schéma DB outreach (campaigns, targets, usage, global quota)

Fix

outreach 500: échapper le placeholder {{channel_name}} en @{{ }}

Update

Dashboard: page démo Outreach influenceurs YouTube (mockup visuel)

05 May 2026

Guide

Yahoo Mail: nouvelle landing /guides/email-yahoo-ia + slug EN

Fix

blank pages: strip rogue v-cloak from non-Vue pages

04 May 2026

Update

SMTP: MIME-encode From/To/Cc display names + auto-promote HTML body

Update

MCP: send/draft/schedule_email accept body_html for HTML emails

Léa

Léa — AI assistant

Online · AI can make mistakes

You are talking to an AI (GPT-4o-mini via Azure EU). It may make mistakes. No training on your messages. Your rights
{{ msg.content }}
Léa
AI-generated · GPT-4o-mini · Azure EU details
Thanks for your feedback!

Need a human? contact@mailmcp.io