# SendGrid

The Wallet Crew peut envoyer des e-mails transactionnels via SendGrid. Cela couvre des messages tels que les liens de téléchargement de Carte, les e-mails de vérification, etc.

Par défaut, The Wallet Crew utilise **son propre compte SendGrid**. Vous pouvez passer à **votre propre compte SendGrid** lorsque vous avez besoin d'une maîtrise totale de la délivrabilité, de la réputation et de la facturation.

Si vous n'êtes pas sûr de l'option à choisir, commencez par [Fournisseur d'e-mails](https://app.gitbook.com/s/WLc8AHXW4tdrAXUBfrYF/connect/email-provider).

### Option 1 : Utiliser le compte SendGrid de The Wallet Crew

C'est l'option la plus simple, et c'est celle par défaut. Vous n'avez pas besoin de créer un compte SendGrid ni de gérer des clés API. The Wallet Crew s'en charge.

Si vous voulez que vos clients voient votre marque dans leur boîte de réception, activez un **domaine d’envoi personnalisé**. Cela améliore la délivrabilité. Cela réduit également les risques d'usurpation d'identité et de phishing.

{% hint style="info" %}
Lorsque vous utilisez le compte SendGrid de The Wallet Crew, The Wallet Crew doit activer le domaine d'envoi personnalisé de son côté. Vous devrez quand même ajouter des enregistrements DNS (SPF/DKIM, et idéalement DMARC) sur votre domaine.
{% endhint %}

{% stepper %}
{% step %}

#### Décidez quel domaine d'expéditeur vous souhaitez utiliser

Privilégiez un sous-domaine dédié tel que `wallet.votremarque.com` ou `registration.votremarque.com`. Cela permet de garder l'authentification des e-mails isolée des autres systèmes de messagerie.

{% hint style="info" %}
Déléguer un sous-domaine dédié réduit votre surface d'attaque et améliore la sécurité en isolant le trafic lié aux Cartes. Nous recommandons d'utiliser le même domaine personnalisé que votre application.
{% endhint %}
{% endstep %}

{% step %}

#### Demandez au support d'activer votre domaine d'envoi

Contactez le support de The Wallet Crew avec le sous-domaine que vous souhaitez utiliser. L'équipe fournira les enregistrements DNS à ajouter et activera le domaine dans SendGrid.
{% endstep %}

{% step %}

#### Configurer le DNS (SPF, DKIM, DMARC)

Ajoutez les enregistrements DNS fournis par The Wallet Crew, puis attendez la propagation DNS.

Pour le processus général et pourquoi c'est important, voir [Configuration du domaine personnalisé](https://app.gitbook.com/s/WLc8AHXW4tdrAXUBfrYF/configure/platform/configuring-custom-domain).
{% endstep %}

{% step %}

#### Testez un envoi réel

Déclenchez un e-mail transactionnel et confirmez :

* l'e-mail est délivré (non bloqué ni mis en quarantaine)
* l'expéditeur visible correspond au domaine que vous souhaitez
* SPF/DKIM réussis (vérifiez dans les en-têtes de votre boîte mail si besoin)
  {% endstep %}
  {% endstepper %}

### Option 2 : Utiliser votre propre compte SendGrid

{% stepper %}
{% step %}

#### Créez une clé API SendGrid

Dans SendGrid, allez dans `Paramètres` → `Clés API`. Créez une clé API avec **Mail Send** autorisations.
{% endstep %}

{% step %}

#### Update `/server/emails.yml`

Ouvrez l'éditeur de configuration avancée :

<p align="center"><a href="https://admin.thewalletcrew.io/tenant/~/settings/configuration" class="button secondary">The Wallet Crew Administration - Configuration avancée</a></p>

Puis créez ou modifiez `/server/emails.yml`.

{% code title="/server/emails.yml" %}

```yaml
provider:
  type : sendgrid
  apiKey : VOTRE_CLE_API_SENDGRID
  from :
    email : no-reply@votremarque.com
    name : Votre marque
resources:
  - /locales/emails/
```

{% endcode %}

Utilisez un `from.email` qui appartient à un domaine que vous authentifiez dans SendGrid.

{% hint style="warning" %}
Considérez votre clé API SendGrid comme un mot de passe.

Ne la collez pas dans des tickets ni des captures d'écran.
{% endhint %}
{% endstep %}

{% step %}

#### Configurer l'authentification de l'expéditeur dans SendGrid

Authentifiez votre domaine d'envoi dans SendGrid en utilisant le processus standard « Domain Authentication ». Cela configure SPF et DKIM. Ajoutez un enregistrement DMARC pour votre domaine d'envoi si nécessaire. Cela améliore la délivrabilité et réduit le risque d'usurpation.
{% endstep %}

{% step %}

#### Enregistrez et testez

Enregistrez le fichier. Déclenchez un e-mail transactionnel unique. Vérifiez l'événement dans vos journaux d'activité SendGrid.
{% endstep %}
{% endstepper %}

## Dépannage

* Si SendGrid renvoie **401** ou **403**, votre clé API est invalide ou n'a pas les permissions nécessaires.
* Si l'adresse « from » est rejetée, votre domaine n'est pas authentifié. Vérifiez d'abord SPF et DKIM.
* Si les e-mails arrivent dans les indésirables, revérifiez l'authentification, la politique DMARC et la réputation de l'expéditeur.
* Si rien ne change après l'édition, confirmez que vous avez enregistré le bon fichier de tenant. Le fichier doit être `/server/emails.yml`.

## FAQ

<details>

<summary><strong>Où configurer SendGrid dans The Wallet Crew ?</strong></summary>

Edit `/server/emails.yml` dans l'éditeur de configuration avancée.

</details>

<details>

<summary><strong>Pouvons-nous conserver le compte SendGrid de The Wallet Crew au lieu d'utiliser le nôtre ?</strong></summary>

**Oui**. The Wallet Crew utilise sa propre configuration SendGrid par défaut.

Si vous le conservez, vous pouvez toujours envoyer depuis un domaine que vous contrôlez. Demandez au support d'activer un domaine d'envoi personnalisé, puis configurez SPF/DKIM et DMARC dans votre DNS.

</details>

<details>

<summary><strong>Devons-nous authentifier notre domaine dans SendGrid ?</strong></summary>

**Oui**. Activez l'authentification de domaine SendGrid (SPF/DKIM). Ajoutez également un enregistrement DMARC pour le domaine ou le sous-domaine que vous utilisez pour `from.email`.

</details>

<details>

<summary><strong>Pouvons-nous utiliser différents comptes SendGrid par environnement ?</strong></summary>

Oui. Chaque tenant a sa propre configuration. Vous pouvez utiliser des clés API différentes par tenant.

</details>

<details>

<summary><strong>Quelle est la façon la plus rapide de valider l'intégration ?</strong></summary>

Enregistrer `/server/emails.yml`, déclenchez un seul e-mail transactionnel, puis vérifiez-le dans votre fil d'activité SendGrid.

</details>
