La backend ne peut généralement pas se permettre de bloquer une requête en cours en attendant de finaliser son envoi d’email (qu’il faut considérer non déterministe temporellement). Le pattern traditionnel est alors de découpler cet aspect en ayant recours à une queue de tâches. Mais il nous sera difficile de t’aiguiller d’avantage sans détails techniques supplémentaires.
Je pense qu’il n’a pas spécialement besoin de s’embêter avec ce genre de détail s’il est nouveau développeur. Et je sais de quoi je parle.
Dernièrement je m’amusais à envoyer des email transactionnels sur un chemin HTTP souvent sollicité. Je me suis rendu compte par moi-même qu’il fallait que je rende le tout asynchrone sans quoi je n’allais pas m’en sortir.
Mais peut-être que dans son cas, ça se justifie ? Non seulement parce qu’il débute, mais ensuite parce qu’il n’aura peut-être pas une centaine d’emails à envoyer à la minute.
Dans le dernier cas, l’idée, c’est d’avoir tout seul le recul suffisant pour se dire « O.K., là ça va pas, j’ai un nouveau problème, comment je le résout ? ».
Pour ma part j’en suis à envoyer un email à chaque fournée alors que d’autres pourraient me dire « autant faire un buffer pour en envoyer 50 d’un coup ». Oui, mais dans mon cas précis, ça ne le justifie pas forcément.
Pour recentrer la discussion, @H225, tu utilises un langage / un framework en particulier ? On peut peut-être t’aiguiller sur les outils que tu peux utiliser.
Je te recommanderai simplement d’éviter Mailjet. Pour bosser avec eux, c’est un enfer.