SMF·SPARK-PREMIUM
Un prompt peut-il remplacer Spark Premium ?
Email — email clients and hosted mail
Bordereau de suivi des pièces
Verdict
La Smart Inbox de Spark est un classifieur sur les en-têtes, pas de la magie : List-Unsubscribe veut dire newsletter, les expéditeurs no-reply et automatisés veulent dire notifications, tout le reste, c’est une personne. Ce tri plus le report et l’envoi différé forment un client vraiment utile et un vrai week-end. Ce qui prend le reste des deux semaines, c’est l’IMAP lui-même — synchro reprenable, fil de discussion correct, indicateurs qui survivent à une reconnexion — et le push mobile qui rend un client email utilisable tout court est tout simplement hors de portée.
Pièce A — Le prompt
Reçu le31.07.2026Construis un client email de bureau dont la fonctionnalité déterminante est le tri automatique de la boîte de réception en trois flux.
Compte : un compte IMAP et SMTP. Les identifiants vont dans le trousseau du système, jamais sur disque dans le stockage propre de l’appli. Prends en charge l’authentification par mot de passe et par OAuth, puisque les grands fournisseurs exigent maintenant la seconde.
Synchro : synchro IMAP incrémentale et reprenable en utilisant UIDVALIDITY et UIDNEXT, avec un statut visible montrant la progression par dossier et la dernière synchro réussie. Stocke les en-têtes et les corps dans SQLite avec recherche plein texte. Gère une connexion coupée en reprenant, pas en retéléchargeant la boîte mail.
Tri, qui est le cœur de ce projet. Classe chaque message arrivant dans l’un de trois flux en utilisant d’abord les en-têtes et le contenu seulement en cas d’égalité :
- Newsletters : présence de List-Unsubscribe ou List-Id, ou un en-tête Precedence de bulk ou list.
- Notifications : partie locale de l’expéditeur correspondant à no-reply, noreply, notifications, alerts, ou automated ; en-tête Auto-Submitted défini ; un domaine expéditeur que l’utilisateur a précédemment marqué comme automatisé.
- Personnes : tout le reste.
Affiche les trois flux comme des vues séparées avec des compteurs de non-lus indépendants, et fais de la reclassification une frappe qui écrit une règle persistante par expéditeur. Les règles sont visibles et modifiables sous forme de liste — un classifieur que l’utilisateur ne peut pas corriger est un classifieur auquel il arrêtera de faire confiance en une semaine.
Report et envoi différé, tous deux gérés en local : le report déplace le message vers un dossier caché sur le serveur et une minuterie locale le renvoie dans la boîte de réception à l’heure choisie ; l’envoi différé garde le message dans une boîte d’envoi locale et le soumet via SMTP au moment planifié. Les deux doivent indiquer clairement qu’ils ne fonctionnent que pendant que l’application tourne, parce qu’un planificateur côté client qui manque silencieusement sa fenêtre est pire que pas de fonctionnalité du tout.
Sécurité : rends le HTML dans une vue en bac à sable avec les images et le CSS distants bloqués par défaut, et une autorisation explicite par expéditeur. N’exécute jamais de script dans un message.
Construis aussi : le fil de discussion basé sur les standards via References et In-Reply-To, les brouillons enregistrés dans le dossier brouillons du serveur, les pièces jointes, et un export local complet en mbox.
Hors périmètre : les applications mobiles et le push, faire tourner un serveur de messagerie, les boîtes de réception partagées ou d’équipe, et toute fonctionnalité IA. Indique dans le README que l’absence de push sur un téléphone est le vrai manque face à un client commercial.
L’ouverture pré-remplit le prompt — il ne reste qu’à appuyer sur entrée.
Pièce B — Ce que tu perds
- B.1 les notifications push sur un téléphone, qui est là où l’email est réellement lu
- B.2 les clients iOS, Android et Windows
- B.3 les fonctionnalités d’équipe : brouillons partagés, commentaires sur un fil, délégation
- B.4 la synchro de tes reports et de l’état de lecture entre appareils
Alternatives existantes
Pièce C — Pourquoi certains continuent de payer : mail infrastructure, integrations, and client polish
Parce que l’email se vérifie sur un téléphone, dans une file d’attente, à un arrêt de bus. Un client de bureau sans compagnon mobile résout la plus petite moitié du problème.
Questions
Est-ce que je peux récupérer ma configuration Spark ?
Le courrier vit sur le serveur IMAP, donc rien n’a besoin d’être migré là. Ce qui ne se transfère pas, c’est le propre état de Spark : ton entraînement de Smart Inbox, les messages reportés et les envois planifiés sont détenus par le service de Spark et se perdent quand tu pars, donc vérifie tout ce qui est planifié avant de résilier.
Est-ce que le tri basé sur les en-têtes est précis ?
Bon, et meilleur qu’il n’y paraît. List-Unsubscribe est presque universel sur le courrier en masse légitime, et les expéditeurs automatisés sont cohérents sur leur partie locale. Les échecs se concentrent sur le courrier transactionnel de petits services, c’est pour ça que les règles de correction par expéditeur font partie du cœur du projet plutôt qu’un réglage.
Combien ça coûte à faire tourner ?
Rien au-delà du compte mail que tu as déjà. Ça tourne sur ta machine contre ton fournisseur existant ; il n’y a ni serveur ni API. Le disque est le seul coût, et une grosse boîte mail avec les corps indexés fait quelques gigaoctets.
Quelle est la seule chose qui ne survit pas à la reconstruction ?
Le téléphone. La notification push sur iOS nécessite un service toujours actif qui détient tes identifiants et une appli signée dans le store, ce qui est une entreprise plutôt qu’un week-end. Sans ça, un client de bureau est une réponse partielle à un problème qui est surtout mobile.
Outils proches
Récépissé