Documentation technique

SignMail
Documentation

Guide complet pour les administrateurs tenant, les intégrateurs via l'API REST, et les utilisateurs finaux. Retrouvez ici la configuration Microsoft 365, la gestion des templates, toutes les variables disponibles, et les exemples de code.

Les administrateurs tenant accèdent à leur espace via l'URL dédiée /tenant (ex : https://SignMail.fr/tenant). L'authentification est assurée par une combinaison email + mot de passe. En cas d'oubli de mot de passe, un lien de réinitialisation est disponible sur la page de connexion.

Les super-administrateurs SignMail accèdent à leur propre espace via /admin et bénéficient d'une vue cross-tenant.

Tableau de bord

Après connexion, le tableau de bord présente en temps réel :

  • Le nombre d'utilisateurs actifs et le total des comptes synchronisés
  • Le nombre de signatures poussées Exchange lors des 7 derniers jours
  • Le statut de la connexion Microsoft 365 (token OAuth valide / expiré)
  • Le statut de la dernière synchronisation GLPI
  • Les dernières erreurs et alertes système

Navigation principale

  • Utilisateurs — liste, fiche détaillée, push Exchange individuel
  • Templates — éditeur HTML, prévisualisation, gestion des versions
  • Médiathèque — logos, bannières, icônes SVG
  • Notifications — configuration des emails automatiques
  • Configuration SMTP — paramétrage du relais mail sortant
  • Tâches planifiées — suivi et déclenchement manuel des jobs
  • Configuration — informations tenant, connexion M365, token API

La connexion à Microsoft 365 repose sur une App Registration Azure AD avec des permissions Graph API et Exchange. Suivez les 5 étapes ci-dessous pour une configuration complète.

  1. 1
    Créer une App Registration dans Azure AD
    Connectez-vous au portail Azure (portal.azure.com), accédez à Azure Active Directory → Inscriptions d'applications → Nouvelle inscription. Donnez un nom explicite (ex : SignMail – Push Exchange), sélectionnez le type de compte adapté à votre organisation, et cliquez sur Inscrire.
  2. 2
    Configurer les permissions Graph API
    Dans Autorisations d'API → Ajouter une autorisation → Microsoft Graph → Autorisations d'application, ajoutez : Mail.ReadWrite, Mail.Send, MailboxSettings.ReadWrite. Ajoutez également la permission Exchange.ManageAsApp via API utilisées par mon organisation → Office 365 Exchange Online. Cliquez ensuite sur Accorder le consentement administrateur.
  3. 3
    Renseigner les informations dans le panel Tenant
    Dans SignMail → Configuration → Microsoft 365, saisissez le Tenant ID Azure (trouvable dans Azure AD → Propriétés → ID de locataire), le Client ID (ID d'application de votre App Registration) et le Client Secret créé dans Certificats et secrets → Nouveau secret client.
  4. 4
    Connecter Microsoft 365 via OAuth2
    Cliquez sur le bouton Connecter Microsoft 365. Vous serez redirigé vers le flux de consentement OAuth2 Microsoft. Authentifiez-vous avec un compte Global Administrator ou Exchange Administrator pour accorder les permissions à l'application.
  5. 5
    Assigner le rôle Exchange Administrator à l'App
    Cette étape est requise pour que l'application puisse gérer les règles de transport Exchange. Un bouton Assigner rôle Exchange (PowerShell) est disponible dans l'interface et génère la commande PowerShell à exécuter, ou l'exécute directement si vous avez configuré l'accès PowerShell distant.
Les secrets clients Azure AD expirent (généralement après 1 ou 2 ans). Pensez à renouveler le secret et mettre à jour la configuration avant expiration pour éviter toute interruption du service.

Sources de synchronisation

Les utilisateurs peuvent être importés depuis plusieurs sources :

  • Azure Active Directory — synchronisation automatique via Graph API, champs standards et attributs étendus
  • GLPI — synchronisation via l'API REST GLPI, avec mapping des champs personnalisable
  • Google Workspace — import via l'API Google Directory
  • Manuel — création et mise à jour directe dans l'interface

Champs utilisateur

Chaque utilisateur possède les champs natifs suivants, qui alimentent les variables de signature :

  • Email principal, Email 2, Email 3, Email 4
  • Prénom, Nom, Nom complet (display name)
  • Poste, Département
  • Téléphone, Téléphone 2, Mobile, Fax
  • Adresse, Code postal, Ville, URL Google Maps
  • Site web, Société / Entreprise
  • Photo (URL hébergée ou upload direct)

Champs personnalisés

En plus des champs natifs, chaque tenant peut définir des champs personnalisés (jusqu'à N champs configurables dans Configuration → Champs Personnalisés). Ces champs sont accessibles dans les templates via des variables préfixées custom_ (ex : {{custom_badge}}, {{custom_linkedin}}).

Actions disponibles par utilisateur

  • Activation ou désactivation de la signature
  • Assignation d'un profil de signature spécifique
  • Bouton Pousser Exchange pour un push individuel immédiat
  • Consultation de l'historique des pushes et erreurs Exchange
  • Gestion des signatures temporaires (surcharge pour une période)

Actions en masse

Depuis la liste des utilisateurs, sélectionnez plusieurs comptes pour déclencher un push Exchange en masse, activer ou désactiver un groupe d'utilisateurs, ou changer le template assigné à une sélection.

Les templates de signature sont au cœur du système. Chaque template est un document HTML dans lequel sont injectées les variables utilisateur au moment du rendu. L'éditeur intégré, basé sur CodeMirror, offre coloration syntaxique, autocomplétion et validation en temps réel.

Fonctionnalités de l'éditeur

  • Éditeur HTML/CSS avec coloration syntaxique CodeMirror
  • Insertion de variables en un clic depuis un panneau latéral
  • Prévisualisation avec données réelles d'un utilisateur sélectionné
  • Mode double fenêtre : code à gauche, aperçu à droite
  • Bascule entre rendu desktop et mobile dans l'aperçu
  • Historique des modifications (versionning léger)
  • Export au format .htm pour import manuel dans Outlook

Import / Export JSON

Les templates peuvent être exportés au format JSON (incluant les métadonnées : nom, description, catégorie, variables utilisées) et réimportés sur le même tenant ou un autre tenant — y compris via copie inter-tenant depuis l'interface super-admin.

Types de templates

  • Nouveau message — signature complète avec logo, coordonnées, bannière
  • Réponse / Transfert — version allégée sans bannière pour ne pas alourdir les échanges
  • Temporaire — pour surcharge lors de congés ou événements

Les variables sont insérées dans le HTML du template entre doubles accolades : {{display_name}}. Si la variable est vide pour un utilisateur donné, elle est remplacée par une chaîne vide. Des alias en français sont disponibles pour faciliter la rédaction des templates.

Variable Alias FR Description
{{display_name}}{{nom_complet}}Nom complet
{{first_name}}{{prenom}}Prénom
{{last_name}}{{nom}}Nom de famille
{{email}}{{courriel}}Email principal
{{email2}}{{courriel2}}Email secondaire
{{email3}}{{courriel3}}Email 3
{{email4}}{{courriel4}}Email 4
{{job_title}}{{poste}}Poste / Titre
{{department}}{{departement}}Département
{{phone}}{{telephone}}Téléphone principal
{{phone2}}{{telephone2}}Téléphone secondaire
{{mobile}}{{portable}}Téléphone mobile
{{fax}}{{telecopie}}Numéro de fax
{{address}}{{adresse}}Adresse postale
{{postcode}}{{code_postal}}Code postal
{{town}}{{ville}}Ville
{{maps_url}}{{carte}}URL Google Maps (lien cliquable)
{{website}}{{site_web}}Site web (URL)
{{photo_url}}{{photo}} / {{photo_utilisateur}}Photo utilisateur (balise <img> rendue)
{{entreprise}}{{societe}}Société / Entreprise
Les variables personnalisées définies par le tenant sont préfixées par custom_. Par exemple, si vous avez créé un champ Badge, la variable sera {{custom_badge}}. Ces variables sont définies dans Configuration → Champs Personnalisés. Pour les blocs conditionnels, utilisez la syntaxe {{#block:nom_du_bloc}}{{/block:nom_du_bloc}} (voir section dédiée ci-dessous).

Les blocs conditionnels permettent d'afficher ou de masquer des sections HTML de la signature en fonction de la valeur d'une variable utilisateur. Cela évite les zones vides dans la signature quand un champ n'est pas renseigné.

Conditions disponibles

  • Est renseigné — affiche le bloc si la variable n'est pas vide
  • Est vide — affiche le bloc si la variable est vide ou nulle
  • Est égal à — affiche le bloc si la valeur correspond exactement
  • Est différent de — affiche le bloc si la valeur est différente

Insertion dans le template

Un bloc conditionnel est défini par un marqueur d'ouverture et de fermeture dans le HTML :

<!-- Affiche le bloc "mobile" uniquement si le mobile est renseigné -->
{{#block:mobile}}
<tr>
  <td>Mobile : {{mobile}}</td>
</tr>
{{/block:mobile}}

Les blocs sont gérés depuis l'onglet Blocs conditionnels de l'éditeur de template. Une interface glisser-déposer permet de les réordonner. Chaque bloc est nommé, rattaché à une variable, et sa condition est définie via un formulaire.

Les blocs conditionnels fonctionnent aussi avec les variables custom_. Cas d'usage : afficher une ligne "LinkedIn" uniquement si le champ custom_linkedin est renseigné.

Un profil utilisateur définit quel template de signature est utilisé selon le contexte d'envoi. Cela permet d'appliquer une signature complète sur les nouveaux messages et une signature allégée sur les réponses, réduisant la redondance dans les fils de conversation.

Contextes de signature

  • Nouveau message — template complet avec logo, coordonnées, bannière éventuelle
  • Réponse — template condensé sans logo ni bannière pour alléger le fil
  • Transfert — peut être identique au contexte réponse ou disposer d'un template dédié

Profil par défaut

Un profil par défaut peut être configuré au niveau du tenant. Tout utilisateur sans profil explicitement assigné héritera du profil par défaut.

Portail self-service utilisateur

Les utilisateurs finaux peuvent accéder au portail /portal pour visualiser leur signature actuelle, modifier certains champs autorisés par l'administrateur (ex : photo de profil, numéro de mobile), et consulter l'historique des mises à jour.

Les signatures temporaires permettent de remplacer ou modifier la signature d'un utilisateur pendant une période précise, sans toucher au template permanent. À la fin de la période, la signature habituelle reprend automatiquement.

Cas d'usage

  • Congés — ajouter un message d'absence dans la signature avec les coordonnées de remplacement
  • Événement — mettre en avant un salon, une conférence ou une promotion pendant une durée limitée
  • Départ — afficher une signature transitoire avant le départ d'un collaborateur
  • Remplacement — indiquer le suppléant pendant une absence prolongée
  • Autre — tout autre cas personnalisé

Configuration

  • Date et heure de début, date et heure de fin
  • Choix du template temporaire (parmi les templates du tenant)
  • Raison (sélection parmi les catégories ci-dessus)
  • Note interne (non visible dans la signature)
  • Annulation possible à tout moment — la signature normale reprend immédiatement

La médiathèque centralise tous les fichiers médias utilisables dans les templates de signature. Elle est propre à chaque tenant (isolation des données).

Types de fichiers supportés

  • Images — PNG, JPG, GIF, WebP (logos, photos, bannières)
  • SVG — icônes vectorielles, logos haute résolution
  • Icônes SVG intégrées — bibliothèque d'icônes courantes (réseaux sociaux, contact, etc.) via Simple Icons

Utilisation dans les templates

Depuis l'éditeur de template, cliquez sur le bouton Médiathèque pour ouvrir le sélecteur de médias. Sélectionnez un fichier pour l'insérer directement à la position du curseur sous forme de balise <img> avec l'URL publique hébergée.

Icônes SVG

La bibliothèque d'icônes intégrée propose des icônes pour les réseaux sociaux (LinkedIn, Twitter/X, GitHub, YouTube…), les applications courantes, et les pictogrammes de contact (téléphone, email, adresse, web). Elles sont hébergées sur l'infrastructure SignMail et disponibles à tous les tenants.

La page Tâches planifiées liste tous les jobs automatiques configurés pour votre tenant. Chaque tâche affiche son statut, la date de dernier succès, la prochaine exécution prévue, et un bouton de déclenchement manuel.

Tâches disponibles

  • Synchronisation GLPI — interroge l'API GLPI et met à jour les champs utilisateur modifiés. Fréquence configurable (ex : toutes les 2 heures, toutes les nuits).
  • Push Exchange automatique — pousse les signatures vers Exchange pour tous les utilisateurs actifs dont le template ou les données ont été modifiés depuis le dernier push.
  • Nettoyage des logs — supprime les entrées de log plus anciennes que la durée de rétention configurée (défaut : 90 jours).
  • Vérification des tokens OAuth — vérifie la validité des tokens Microsoft 365 et déclenche un renouvellement si nécessaire, avec notification email en cas d'échec.
  • Backup automatique — génère une sauvegarde des données tenant (configuration, templates, utilisateurs) vers le stockage configuré.
Les tâches planifiées sont exécutées par le scheduler Laravel. Vérifiez que la cron Artisan est bien configurée sur votre serveur : * * * * * php /var/www/signatures/artisan schedule:run.

L'API REST de SignMail utilise un système d'authentification par token Bearer. Votre token API est disponible dans l'espace admin, section Configuration → API. Ce token est propre à votre tenant et doit rester confidentiel.

# En-tête HTTP requis pour tous les endpoints
Authorization: Bearer {votre_token_api}

Limites de débit

L'API est soumise à un rate limiting de 60 requêtes par minute par token. En cas de dépassement, un code HTTP 429 Too Many Requests est retourné avec un en-tête Retry-After indiquant le nombre de secondes à attendre.

Format des réponses

Toutes les réponses sont en JSON avec une structure cohérente :

// Réponse succès
{
  "success": true,
  "data": { /* objet ou tableau */ },
  "meta": { /* pagination, timestamps */ }
}

// Réponse erreur
{
  "success": false,
  "error": "Message d'erreur explicite",
  "code": 404
}

Codes de statut HTTP

  • 200 — succès, données retournées
  • 201 — ressource créée avec succès
  • 400 — paramètres invalides ou manquants
  • 401 — token manquant ou invalide
  • 403 — accès refusé à la ressource demandée
  • 404 — ressource introuvable
  • 422 — erreur de validation des données
  • 429 — limite de débit dépassée
  • 500 — erreur interne du serveur
GET /api/v1/users Liste paginée des utilisateurs

Retourne la liste paginée de tous les utilisateurs du tenant (50 par page).

Paramètres query : page (optionnel, défaut : 1)

curl -X GET "https://SignMail.fr/api/v1/users?page=1" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/json"
{
  "success": true,
  "data": [
    {
      "id": 1,
      "email": "marie.dupont@example.com",
      "display_name": "Marie Dupont",
      "job_title": "Directrice Commerciale",
      "department": "Commercial",
      "signature_active": true,
      "last_push_at": "2026-04-09T14:32:00Z"
    }
  ],
  "meta": {
    "total": 142,
    "per_page": 50,
    "current_page": 1,
    "last_page": 3
  }
}
GET /api/v1/users/{email} Détail d'un utilisateur

Retourne les données complètes d'un utilisateur identifié par son adresse email.

curl -X GET "https://SignMail.fr/api/v1/users/marie.dupont@example.com" \
  -H "Authorization: Bearer YOUR_TOKEN"
PUT /api/v1/users/{email} Mise à jour des champs custom

Met à jour les champs personnalisés (custom_*) de l'utilisateur. Seuls les champs préfixés par custom_ sont modifiables via l'API pour éviter toute corruption des données synchronisées depuis l'annuaire.

Body JSON : objet contenant les champs custom_* à mettre à jour.

curl -X PUT "https://SignMail.fr/api/v1/users/marie.dupont@example.com" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"custom_badge": "MKT-042", "custom_linkedin": "https://linkedin.com/in/marie-dupont"}'
POST /api/v1/users/{email}/push-signature Push Exchange individuel

Déclenche immédiatement le push de la signature Exchange pour cet utilisateur. Équivalent au bouton "Pousser Exchange" dans l'interface admin.

curl -X POST "https://SignMail.fr/api/v1/users/marie.dupont@example.com/push-signature" \
  -H "Authorization: Bearer YOUR_TOKEN"
POST /api/v1/users/{email}/activate Active la signature

Active la signature Exchange de l'utilisateur. Si elle était désactivée, un push automatique est déclenché.

curl -X POST "https://SignMail.fr/api/v1/users/marie.dupont@example.com/activate" \
  -H "Authorization: Bearer YOUR_TOKEN"
POST /api/v1/users/{email}/deactivate Désactive la signature

Désactive la signature Exchange de l'utilisateur. La règle de transport Exchange est supprimée pour ce compte.

curl -X POST "https://SignMail.fr/api/v1/users/marie.dupont@example.com/deactivate" \
  -H "Authorization: Bearer YOUR_TOKEN"
GET /api/v1/templates Liste des templates actifs

Retourne la liste de tous les templates actifs du tenant, avec leurs métadonnées (id, nom, description, type, date de mise à jour).

curl -X GET "https://SignMail.fr/api/v1/templates" \
  -H "Authorization: Bearer YOUR_TOKEN"
GET /api/v1/templates/{id}/preview/{email} Rendu HTML de la signature

Génère et retourne le HTML rendu de la signature pour l'utilisateur spécifié, avec toutes les variables injectées et les blocs conditionnels évalués. Utile pour afficher la signature dans une application tierce ou pour valider l'intégration.

curl -X GET \
  "https://SignMail.fr/api/v1/templates/3/preview/marie.dupont@example.com" \
  -H "Authorization: Bearer YOUR_TOKEN"
POST /api/v1/sync/glpi Synchronisation GLPI

Déclenche immédiatement la synchronisation GLPI pour le tenant. La tâche est exécutée en arrière-plan. La réponse retourne un identifiant de job permettant de suivre l'avancement.

curl -X POST "https://SignMail.fr/api/v1/sync/glpi" \
  -H "Authorization: Bearer YOUR_TOKEN"
{
  "success": true,
  "data": {
    "job_id": "sync-glpi-1744303200",
    "status": "queued",
    "message": "Synchronisation GLPI démarrée en arrière-plan"
  }
}
POST /api/v1/sync/exchange Push Exchange en masse

Déclenche le push Exchange pour tous les utilisateurs actifs du tenant. La tâche est exécutée en file d'attente. Particulièrement utile après une mise à jour de template pour forcer le re-déploiement immédiat sur tous les comptes.

curl -X POST "https://SignMail.fr/api/v1/sync/exchange" \
  -H "Authorization: Bearer YOUR_TOKEN"
GET /api/v1/tenant Informations du tenant

Retourne les informations générales du tenant : nom, domaine principal, statut des connexions (Microsoft 365, GLPI), et compteurs de ressources.

curl -X GET "https://SignMail.fr/api/v1/tenant" \
  -H "Authorization: Bearer YOUR_TOKEN"
{
  "success": true,
  "data": {
    "name": "Acme Corporation",
    "domain": "acme-corp.fr",
    "ms365_connected": true,
    "ms365_token_valid": true,
    "glpi_connected": true,
    "glpi_last_sync": "2026-04-10T06:00:00Z",
    "stats": {
      "users_total": 142,
      "users_active": 138,
      "templates_count": 5,
      "pushes_last_7_days": 412
    }
  }
}

Ces exemples illustrent comment récupérer la liste des utilisateurs depuis votre application. Remplacez votre_token_api par le token disponible dans votre espace admin.

PHP<?php
$token  = 'votre_token_api';
$base   = 'https://SignMail.fr/api/v1';

$ch = curl_init("{$base}/users");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => [
        "Authorization: Bearer {$token}",
        "Accept: application/json",
    ],
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);

foreach ($response['data'] as $user) {
    echo $user['display_name'] . ' — ' . $user['email'] . PHP_EOL;
}
JSconst token = 'votre_token_api';
const base  = 'https://SignMail.fr/api/v1';

const res  = await fetch(`${base}/users`, {
  headers: {
    'Authorization': `Bearer ${token}`,
    'Accept': 'application/json',
  },
});
const json = await res.json();

// Affiche le tableau d'utilisateurs
console.log(json.data);

// Itérer sur les utilisateurs
json.data.forEach(user => {
  console.log(`${user.display_name} — ${user.email}`);
});
Pythonimport requests

token = 'votre_token_api'
base  = 'https://SignMail.fr/api/v1'

headers = {
    'Authorization': f'Bearer {token}',
    'Accept': 'application/json',
}

resp = requests.get(f'{base}/users', headers=headers)
data = resp.json()

for user in data['data']:
    print(f"{user['display_name']} — {user['email']}")

SignMail applique votre signature automatiquement à tous vos emails sortants via une règle de transport Exchange côté serveur. Cela signifie que même si vous envoyez un email depuis votre téléphone, depuis un client tiers ou depuis n'importe quel appareil, la signature sera toujours présente.

Ce que vous n'avez pas à faire

  • Installer quoi que ce soit sur votre poste ou votre téléphone
  • Copier-coller une signature dans vos paramètres Outlook
  • Vous soucier de la mise à jour de votre signature si vos données changent

Comment la signature est appliquée

  • Votre email est envoyé au serveur Exchange / Microsoft 365
  • La règle de transport SignMail intercepte le message sortant
  • La signature personnalisée est injectée automatiquement dans le corps du message
  • Le message est délivré au destinataire avec la signature complète

Mises à jour instantanées

Lorsque l'administrateur modifie un template ou vos données (changement de poste, nouveau numéro de téléphone), la signature est mise à jour immédiatement pour tous vos emails suivants. Vous n'avez rien à faire. Une notification email optionnelle peut vous être envoyée pour vous informer de la mise à jour.

La signature est visible par le destinataire dans l'email reçu. Elle peut ne pas apparaître dans la fenêtre de composition selon le client mail utilisé — c'est tout à fait normal, la signature est bien présente dans le message envoyé.

OWA (Outlook Web App)

La signature est appliquée côté serveur et visible dans les messages de votre dossier Éléments envoyés. Dans les paramètres OWA Courrier → Rédiger et répondre, vous pouvez coller manuellement la signature pour la visualiser lors de la composition, mais ce n'est pas obligatoire pour qu'elle soit appliquée.

Outlook Desktop

La signature Exchange s'applique côté serveur. Pour la voir en temps réel lors de la composition, votre administrateur peut exporter la signature au format .htm et l'importer dans Outlook via Fichier → Options → Courrier → Signatures. L'add-in Outlook offre une alternative plus pratique (voir ci-dessous).

Mobile (iOS & Android)

La signature s'applique côté serveur Exchange pour tous vos emails sortants, qu'ils soient envoyés depuis l'app Outlook Mobile, l'app Mail native iOS ou Android, ou toute autre application. L'app mobile n'affiche pas la signature en prévisualisation lors de la composition — c'est normal, elle est ajoutée automatiquement par le serveur.

L'add-in SignMail pour Outlook est un volet de tâches qui s'intègre directement dans l'interface Outlook Desktop (Windows, macOS) et OWA. Il permet de visualiser votre signature dans la fenêtre de composition sans avoir à attendre l'envoi.

Déploiement

L'add-in est déployé de manière centralisée par votre administrateur IT via le Centre d'administration Microsoft 365 (Paramètres → Applications intégrées → Add-ins). Aucune installation manuelle n'est requise de votre côté — l'add-in apparaît automatiquement dans votre Outlook.

Utilisation

  • Dans Outlook, ouvrez une fenêtre de nouveau message ou de réponse
  • Cliquez sur le bouton "Signatures" dans le ruban Accueil ou Message
  • Le volet de tâches s'ouvre à droite avec votre signature rendue en HTML
  • Sélectionnez le contexte (nouveau message ou réponse) pour afficher la variante correspondante
  • Copiez-collez la signature dans votre message si souhaité, ou laissez le serveur l'appliquer automatiquement

Avantages

  • Prévisualisation exacte de la signature telle qu'elle sera vue par le destinataire
  • Mise à jour en temps réel — si votre administrateur modifie le template, la prévisualisation se rafraîchit à l'ouverture suivante
  • Fonctionne en ligne et hors ligne (mode cache)
  • Aucun accès à vos emails — l'add-in ne lit que votre profil pour générer le rendu
Si le bouton "Signatures" n'apparaît pas dans votre ruban Outlook, contactez votre administrateur IT pour vérifier que l'add-in a bien été déployé sur votre compte Microsoft 365.

Lorsque votre organisation utilise Google Workspace, SignMail pousse automatiquement votre signature via l'API Gmail. Le fonctionnement diffère de Microsoft 365 — lisez attentivement ce qui suit.

Ce que SignMail gère automatiquement

  • La signature est configurée automatiquement pour vos nouveaux messages Gmail
  • Elle est visible dans la fenêtre de composition de Gmail Web et dans l'app Gmail mobile
  • Elle est mise à jour immédiatement lorsque votre administrateur la modifie

Limitations de l'API Gmail — réponses et transferts

Contrairement à Microsoft 365 (qui utilise des règles de transport côté serveur), l'API Gmail ne permet pas d'injecter automatiquement une signature dans les réponses et transferts.

  • Pour les réponses et transferts : vous devez insérer manuellement votre signature depuis Gmail → Paramètres (⚙️) → Voir tous les paramètres → onglet Général → Signature
  • Une seule signature peut être gérée par utilisateur via l'API (limitation imposée par Google)
Ces limitations sont imposées par l'API Google, pas par SignMail. Elles s'appliquent à toutes les solutions tierces de gestion de signatures Gmail.

Comparaison avec Microsoft 365

Microsoft 365 / Exchange Online

Injection côté serveur via règles de transport. S'applique à tous les emails sortants (nouveaux, réponses, transferts) quel que soit le client mail utilisé. Aucune action requise de l'utilisateur.

Google Workspace / Gmail

Configuration via API Gmail. Signature automatique pour les nouveaux messages uniquement. Les réponses et transferts nécessitent une insertion manuelle par l'utilisateur (limitation de l'API Google).