Notifications Delta Chat
Configuration du Compte
Section intitulée « Configuration du Compte »Delta Chat est une messagerie fondée sur l’e-mail. Apprise envoie des messages compatibles via le serveur SMTP du compte du bot, sans passerelle ni autre service local.
- Choisissez une boîte aux lettres pour votre bot :
- Un compte e-mail classique. Les relais chatmail peuvent refuser ses messages si le chiffrement PGP n’est pas disponible ; consultez l’avertissement ci-dessous.
- Un relais chatmail public. Choisissez un nom d’utilisateur et un mot de passe robuste. Le relais crée l’adresse à la première connexion. Ces relais conviennent surtout à un usage léger.
- Votre propre relais chatmail auto-hébergé. Il crée aussi les adresses à la première connexion et vous permet de gérer la capacité.
- Notez l’hôte SMTP du compte, le port, le nom d’utilisateur et le mot de passe.
- Demandez à chaque destinataire d’ajouter le bot comme contact ou de lui écrire en premier. Les messages d’expéditeurs inconnus peuvent rester dans les demandes de contact jusqu’à leur acceptation.
La syntaxe valide est la suivante :
deltachat://{user}:{password}@{host}/{targets}deltachat://{user}:{password}@{host}:{port}/{targets}
deltachat:// envoie par défaut sur une connexion non chiffrée. Ajouter un
s au schéma (deltachats://) fait passer le transport par défaut à
STARTTLS ; utilisez ?mode=ssl pour du SSL/TLS implicite (voir
Sécurité du transport) :
deltachats://{user}:{password}@{host}/{targets}deltachats://{user}:{password}@{host}:{port}/{targets}
{targets} représente une ou plusieurs adresses e-mail de destinataires,
chacune étant l’identité Delta Chat de la personne ou du bot que vous
notifiez :
deltachat://{user}:{password}@{host}/{target1}/{target2}/{targetN}
Si vous omettez {targets}, Apprise envoie la notification à l’adresse
de votre propre bot. C’est pratique pour vous envoyer une alerte
personnelle ou tester une configuration sans second contact Delta Chat.
{host} doit être le domaine de l’adresse de votre bot (il fait partie
de son identité Delta Chat), pas nécessairement le serveur SMTP auquel
vous vous connectez réellement. S’ils diffèrent, par exemple avec un
relais d’entreprise ou tiers, ajoutez ?smtp={smtp-host} pour préciser
le vrai serveur d’envoi tout en gardant le domaine de votre identité dans
{host} :
deltachat://bot:pass@example.com/friend@example.org?smtp=smtp-relay.company.comConsultez la section Utiliser des Serveurs SMTP Personnalisés du plugin Email pour en savoir plus.
Format du Message
Section intitulée « Format du Message »Apprise envoie du texte brut avec l’en-tête Chat-Version: 1.0 exigé par le
protocole e-mail-chat. L’objet commence par
Chat:, conformément à la recommandation du protocole. Les messages chiffrés
utilisent l’objet générique Chat: Encrypted message afin de ne pas exposer le
texte protégé.
Sécurité du Transport
Section intitulée « Sécurité du Transport »| Mode | Valeur ?mode= | Port par défaut | Remarques |
|---|---|---|---|
| Aucun | insecure | 25 | Par défaut pour deltachat:// ; la plupart des serveurs le refusent |
| STARTTLS | starttls | 587 | Par défaut pour deltachats:// |
| SSL/TLS | ssl | 465 | À définir explicitement avec ?mode=ssl |
Sécurité PGP
Section intitulée « Sécurité PGP »Delta Chat utilise les options pgp, pgppub, pgpprv et wkd du plugin
Email. Lorsque PGP est activé et qu’Apprise
possède une clé privée compatible, il publie la clé publique correspondante
afin que les destinataires puissent chiffrer leurs réponses.
Apprise ne lit pas les messages reçus. S’il a généré cette clé, importez le fichier privé dans le client qui devra lire les réponses chiffrées.
La génération est limitée à la clé d’expéditeur du bot lors d’un auto-envoi chiffré. Apprise ne génère jamais les clés des destinataires externes.
| Mode | Ce que ça fait |
|---|---|
pgp=no | Pas de PGP (par défaut). |
pgp=sign | Signe le message avec votre clé privée. Chiffre aussi de façon opportuniste si une clé publique du destinataire est déjà connue. |
pgp=encrypt | Chiffre le message avec la clé publique du destinataire. L’envoi échoue si aucune clé n’est trouvée. |
Les deux modes protégés nécessitent
PGPy (pip install pgpy). Si PGP est demandé
mais indisponible, l’envoi échoue au lieu de partir sans protection.
Utiliser wkd=yes sans pgp= active le chiffrement. Définissez explicitement
pgp=no pour laisser PGP désactivé.
deltachat://user:pass@smtp.example.com/friend@example.org?pgp=sign&pgpprv=/path/to/my-prv.ascdeltachat://user:pass@smtp.example.com/friend@example.org?pgp=encrypt&pgppub=/path/to/recipient-pub.ascdeltachat://user:pass@smtp.example.com/friend@example.org?pgp=sign&wkd=yes&pgpprv=/path/to/my-prv.ascConsultez la section Sécurité PGP du plugin Email pour la découverte et la génération des clés, ainsi que les recherches Web Key Directory.
Dépannage
Section intitulée « Dépannage »Apprise indique un succès, mais rien n’apparaît. Demandez au destinataire de consulter les demandes de contact. Un message inconnu peut y attendre son approbation.
L’envoi échoue. Vérifiez ces causes courantes :
- Vérifiez que
mode=correspond aux réglages de votre fournisseur ; consultez Sécurité du transport. La plupart utilisent STARTTLS sur le port 587 ; certains utilisent SSL implicite sur le port 465. - Si l’un des comptes utilise un relais chatmail, configurez PGP et la découverte de la clé du destinataire.
- Lancez la commande avec
-vv(apprise -vv ...) pour voir l’erreur SMTP exacte renvoyée par le serveur.
Le chiffrement PGP échoue (pgp=encrypt). Apprise a besoin de la clé
publique du destinataire via pgppub=, wkd=yes ou son cache. Avec
pgp=sign, Apprise envoie un message signé si aucune clé destinataire n’est
connue et le chiffre lorsqu’une clé est trouvée.
L’authentification échoue, ou le mauvais expéditeur est utilisé. Si
votre bot s’authentifie via un relais dont le domaine diffère de sa
propre adresse (par exemple bot@example.com envoyant via
smtp-relais.entreprise.com), placez le domaine de votre identité dans
{host} et le relais dans ?smtp= ; voir la note dans
Syntaxe. Mettre directement le nom d’hôte du relais dans
{host} fait qu’Apprise traite ce domaine comme votre identité, ce qui
casse à la fois la connexion et l’adresse From:.
Détail des Paramètres
Section intitulée « Détail des Paramètres »| Variable | Requis | Description |
|---|---|---|
| user | *Oui | Identifiant SMTP, souvent l’adresse e-mail complète. |
| password | *Oui | Mot de passe SMTP. |
| host | Oui | Domaine de l’adresse de votre bot (fait partie de son identité Delta Chat). |
| port | Non | Port SMTP. Valeur par défaut selon mode= (voir Sécurité du transport). |
| targets | Non | Une ou plusieurs adresses e-mail. Peuvent aussi être définies via ?to=. Si omis, envoie à l’adresse de votre propre bot. |
| from | Non | Change l’adresse de l’expéditeur. Accepte un e-mail simple ou une valeur Nom <email>. |
| name | Non | Change le nom affiché de l’expéditeur. |
| mode | Non | Sécurité du transport : insecure, starttls, ou ssl (voir Sécurité du transport pour les valeurs par défaut selon le schéma). |
| smtp | Non | Le serveur SMTP d’envoi réel, s’il diffère de host (par exemple un relais). |
| pgp | Non | Mode PGP : no (par défaut), sign, ou encrypt. |
| pgppub | Non | Chemin vers la clé publique PGP d’un destinataire. |
| pgpprv | Non | Chemin vers votre propre clé privée PGP. |
| wkd | Non | Active la découverte de clé publique via Web Key Directory (yes/no). |
* Non requis si votre serveur accepte le relais anonyme (sans authentification).
Paramètres Globaux
Section intitulée « Paramètres Globaux »| Variable | Description |
|---|---|
| overflow | Gère les messages qui dépassent la limite documentée d’un service. La valeur par défaut est upstream.👉 upstream : envoie un seul message sans le découper ni le tronquer selon cette limite.👉 truncate : conserve la partie qui tient dans la limite et supprime le reste.👉 split : privilégie une coupure lisible, utilise une coupure stricte si nécessaire, puis envoie toutes les parties dans l’ordre.Le découpage d’un contenu non déclaré ou structuré reste une solution au mieux. Utilisez upstream si le corps doit rester intact. |
| format | Ce paramètre peut être défini sur text, html ou markdown. Certains services prennent en charge plusieurs formats de publication du contenu. La valeur par défaut varie selon le service choisi et peut correspondre à l’un de ces trois formats. Vous pouvez facultativement forcer cette option pour vous écarter du comportement par défaut. Si le service ne prend pas en charge plusieurs formats de transmission, ce champ est ignoré. |
| verify | Les requêtes externes vers des emplacements sécurisés, par exemple via https, utilisent des certificats. Par défaut, Apprise vérifie la validité de ces certificats ; si ce n’est pas le cas, aucune notification n’est envoyée à la source. Dans certains cas, un utilisateur ne dispose pas d’une autorité de certification pour valider la clé ou fait simplement confiance à la source ; dans ce cas, vous pouvez définir ce drapeau sur no. Par défaut, il vaut yes. |
| redirect | Par défaut, Apprise suit les redirections HTTP (réponses 3xx) émises par le serveur distant, conformément au comportement de la bibliothèque requests sous-jacente. Si vous souhaitez empêcher la transmission des en-têtes personnalisés et des identifiants vers des destinations différentes de l’URL d’origine, définissez cette option sur no. Par défaut, elle vaut yes. |
| cto | Signifie Socket Connect Timeout. Il s’agit du nombre de secondes pendant lesquelles Requests attend que votre client établisse une connexion avec une machine distante, ce qui correspond à l’appel connect() sur la socket. La valeur par défaut est de 4.0 secondes. |
| rto | Signifie Socket Read Timeout. Il s’agit du nombre de secondes pendant lesquelles le client attend que le serveur envoie une réponse. La valeur par défaut est de 4.0 secondes. |
| emojis | Active la prise en charge des emojis, par exemple :+1: qui sera traduit en 👍. Par défaut, cette option vaut no. Remarque : selon la configuration côté serveur, l’administrateur peut désactiver globalement la prise en charge des emojis ; mais par défaut, ce n’est pas le cas. |
| tz | Identifie le fuseau horaire de la base IANA que vous souhaitez utiliser. Par défaut, celui-ci est détecté à partir de la configuration du serveur qui exécute Apprise. Vous pouvez le définir sur des valeurs comme America/Toronto, ou sur tout autre fuseau correctement formaté correspondant à votre région. |
| retry | Nombre de tentatives de remise supplémentaires après le premier échec, avant d’abandonner. Accepte un entier compris entre 0 et 10. La valeur par défaut est 0 (aucune nouvelle tentative — une seule tentative est effectuée). Lorsqu’il est combiné avec wait, Apprise marque une pause du nombre de secondes spécifié entre chaque tentative. |
| wait | Nombre de secondes à attendre entre les nouvelles tentatives. Accepte une valeur décimale comprise entre 0.0 et 20.0 ; les entiers sont automatiquement convertis en virgule flottante. La valeur par défaut est 0.5. Ce paramètre n’est utile que si retry est supérieur à zéro — un service avec retry=0 effectue exactement une tentative, quelle que soit la valeur de wait. |
| optional | Lorsqu’il est défini sur yes, un échec de remise pour ce service est silencieusement absorbé. Le résultat global de notify() est quand même considéré comme réussi même si ce point de terminaison était injoignable, à condition que tous les services requis (non optionnels) du même lot aient réussi. Ce drapeau ne saute pas la remise ni ne contourne la logique de nouvelles tentatives — toutes les tentatives configurées sont effectuées avant que l’échec soit absorbé. Par défaut, il vaut no, ce qui signifie que chaque échec est propagé à l’appelant. |
Exemples
Section intitulée « Exemples »Envoyer un message simple à un seul contact Delta Chat :
apprise -vv -t "Alerte serveur" -b "Utilisation du disque à 92%" \ "deltachat://bot:app-password@smtp.example.com/friend@example.org"Notifier plusieurs destinataires en une fois :
apprise -vv -t "Déploiement terminé" -b "Build #482 est en ligne" \ "deltachat://bot:app-password@smtp.example.com/team1@example.org/team2@example.org"Utiliser SSL/TLS implicite sur un port personnalisé :
apprise -vv -t "Test" -b "Bonjour depuis Apprise" \ "deltachats://bot:app-password@smtp.example.com:465/friend@example.org?mode=ssl"Signer chaque message, et chiffrer de façon opportuniste quand la clé d’un destinataire est déjà connue :
apprise -vv -t "Test" -b "Bonjour depuis Apprise" \ "deltachat://bot:app-password@smtp.example.com/friend@example.org?pgp=sign&wkd=yes&pgpprv=/home/user/.gnupg/my-prv.asc" Questions ou commentaires ?
Documentation
Vous avez repéré une faute de frappe ou une erreur ?
Problèmes Techniques
Vous rencontrez un problème avec le code ? Ouvrez un ticket sur GitHub :