Fonctionnalité #21763
TMA - Adaptation de la bascule d'adresse d'envoi SMTP existante à la réponse locale
Description
Bonjour,
Lors de l'utilisation et du paramétrage de la fonctionnalité d'envoi de courriel depuis le dossier d'un courrier avec Maarch Courrier 21.03.xx nous rencontrons un problème qui n'était pas présent dans les versions majeures antérieures.
En effet l'envoi d'un courriel via l'écran suivant :
semble essayer d'utiliser l'url de l'utilisateur en cours (ici abdelkamel.alaoui@developpement-durable.gouv.fr) en tant qu'expéditeur réel du courriel.
Auparavant, quel que soit l'utilisateur en cours, l'unique adresse d'expédition était celle paramétrée en tant que telle dans les réglages du serveur de messagerie ("Adresse d'envoi").
Le nouveau système pose un problème dans notre contexte technique : seules certaines adresses sont autorisées à utiliser le SMTP en tant qu'expéditeur sur nos infrastructures, en particulier il est imposé que les adresses aient le format suivant robot-xxxxxxx.csac@developpement-durable.gouv.fr avec xxxxxxx qui est une partie variable et libre à la main de notre exploitation. Il est donc courant que nous paramétrions une seule adresse d'envoi par environnement (exemple : robot-maarch-recette.csac@developpement-durable.gouv.fr)
Le problème que pose le système mis en place dans la 21.03.xx est que l'outil essaye d'utiliser l'adresse de l'utilisateur, variant donc d'un utilisateur à l'autre, en tant qu'expéditeur, ce qui est refusé par le SMTP.
Nous n'avons pas de levier pour agir dessus :
- fixer l'ensemble des adresses des utilisateurs à l'adresse unique prise en compte par le SMTP rend difficile la sélection d'un destinataire, puisqu'il faut alors que l'utilisateur pense à éditer l'adresse manuellement,
- il n'est pas possible de changer manuellement l'adresse de l'expéditeur dans l'interface d'envoi d'un courriel,
- il ne semble pas y avoir de paramétrage technique apparent pour rétablir l'ancien fonctionnement (utilisation d'un alias du style "Bob Morane <robot-maarch-recette.csac@developpement-durable.gouv.fr>".
Quel(s) possibilité(s) voyez-vous pour rétablir la fonctionnalité d'envoi de courriel dans notre contexte techniques sachant qu'il va être a priori impossible de relâcher les contraintes sur le format de l'adresse qui existent pour des raisons de sécurité ?
Existe-t-il un moyen de rétablir l'ancien fonctionnement au niveau technique ?
Merci d'avance,
Related issues
History
#2 Updated by Henri QUENEAU about 1 year ago
En tant qu'administrateur, je souhaite que les agents puissent envoyer des mails depuis Maarch avec comme :
reply-to: adresse mail de l'agent ou de l'entité
mail-from: adresse mail du robot
Cela permet de sécuriser l'application et les envoies de mail
#3 Updated by Henri QUENEAU about 1 year ago
- Related to Anomalie #16768: FROM en envoi de courriels unitaires par l'utilisateur -> Mettre le courriel de l'utilisateur added
#4 Updated by Emmanuel DILLARD about 1 year ago
- Related to deleted (Anomalie #16768: FROM en envoi de courriels unitaires par l'utilisateur -> Mettre le courriel de l'utilisateur)
#5 Updated by Emmanuel DILLARD about 1 year ago
- Tracker changed from Anomalie to Fonctionnalité
- Due date set to 08/29/2022
- Status changed from A qualifier to R&D - A étudier
#8 Updated by Emmanuel DILLARD about 1 year ago
- Status changed from R&D - A étudier to R&D - A planifier
#10 Updated by Emmanuel DILLARD about 1 year ago
- Subject changed from Rétablissement de l'expéditeur unique avec alias lors de l'envoi de courriel to TMA - Rétablissement de l'expéditeur unique avec alias lors de l'envoi de courriel
- Due date deleted (
08/29/2022)
#12 Updated by Emmanuel DILLARD about 1 year ago
- Status changed from R&D - A planifier to R&D - En cours
- Assignee deleted (
Emmanuel DILLARD)
#13 Updated by Emmanuel DILLARD about 1 year ago
- Due date set to 09/20/2022
#14 Updated by Emmanuel DILLARD about 1 year ago
- Due date changed from 09/20/2022 to 09/16/2022
#15 Updated by Emmanuel DILLARD about 1 year ago
- Subject changed from TMA - Rétablissement de l'expéditeur unique avec alias lors de l'envoi de courriel to TMA - Adaptation de la bascule SMTP existante à la réponse
- Due date deleted (
09/16/2022) - Status changed from R&D - En cours to Complément d'Informations
- Assignee set to Henri QUENEAU
#17 Updated by Emmanuel DILLARD about 1 year ago
- Subject changed from TMA - Adaptation de la bascule SMTP existante à la réponse to TMA - Adaptation de la bascule d'adresse d'envoi SMTP existante à la réponse locale
#19 Updated by Henri QUENEAU about 1 year ago
- Status changed from Complément d'Informations to A traiter
- Assignee changed from Henri QUENEAU to Emmanuel DILLARD
Message de Florent Cappon sur le ticket client
Bonjour Henri, Emmanuel,
Essayant de vous fournir les logs appropriés je suis tombé dans des problèmes de non-remontée de ces derniers et je me suis lancé dans le debug du souci qui m'a permis de finir par identifier la cause du souci initial : elle se situe à la ligne 758 du fichier src/app/email/controllers/EmailController.php.
Voici le bout de code en question :
757 // If we cannot override from with the sender email address, we try sending the email with the from in the configuration 758 if (strpos($errors, 'Client does not have permissions to send as this sender') !== false && $email['sender']['email'] != $configuration['from']) { 759 $sender = [ 760 'email' => $configuration['from'], 761 'entityId' => $email['sender']['entityId'] ?? null 762 ]; 763 EmailModel::update(['set' => ['sender' => json_encode($sender)], 'where' => ['id = ?'], 'data' => [$args['emailId']]]); 764 765 return EmailController::sendEmail(['emailId' => $args['emailId'], 'userId' => $args['userId']]); 766 } 767 768 return ['errors' => $errors];
Il permet d'appliquer la bascule "automatique" vers l'adresse d'envoi renseignée dans l'administration, comme l'a mentionné Emmanuel, sauf qu'elle est conditionnée à deux clauses :
- la non correspondance entre la première adresse testée et l'adresse renseignée dans l'administration => OK,
et
- la correspondance entre le message d'erreur remonté par phpmailer et "Client does not have permissions to send as this sender" => KO, c'est cette condition qui fait échouer le test et empêche la bascule sur l'adresse d'administration
En l'occurence notre smtp renvoie l'erreur suivante via phpmailer :
SMTP ERROR: RCPT TO command failed: 553 5.7.1 <florent.cappon@developpement-durable.gouv.fr>: Sender address rejected: not logged in
J'imagine que cette condition a été implémentée initialement par précaution après un test sur votre smtp de dév qui doit renvoyer l'erreur précise que vous avez mis en dur dans le code.
Ma conclusion : enlever cette condition suffit à rétablir la bascule automatique et elle ne semble pas être nécessaire de toute manière.
Cette modification peut-elle être intégrée à un tag dès que possible ?
Bien cordialement,
P.-S. : coder des valeurs en dur c'est le Mal !
#20 Updated by Emmanuel DILLARD about 1 year ago
- Due date set to 09/16/2022
- Status changed from A traiter to R&D - En cours
- Assignee deleted (
Emmanuel DILLARD)
#22 Updated by Emmanuel DILLARD about 1 year ago
- Target version changed from 21.03 to 21.03 TMA7
#24 Updated by Emmanuel DILLARD about 1 year ago
Ajouter le test sur "Sender address rejected" dans la mécanique de bascule.
#25 Updated by Quentin RIBAC about 1 year ago
- Assignee set to Quentin RIBAC
#26 Updated by GIT LAB about 1 year ago
Commit ajouté sur la branche feat/21763/21.03_TMA7 de MaarchCourrier par Quentin RIBAC quentin.ribac@xelians.fr
FEAT #21763 TIME 0:20 put smtp errors in const array
https://labs.maarch.org/maarch/MaarchCourrier/commit/4aee950d82454e20e451c3046edba5e90241269d
#27 Updated by Quentin RIBAC about 1 year ago
- Status changed from R&D - En cours to R&D - En test
#28 Updated by GIT LAB about 1 year ago
Commit ajouté sur la branche feat/21763/21.03 de MaarchCourrier par Quentin RIBAC quentin.ribac@xelians.fr
FEAT #21763 TIME 0:20 put smtp errors in const array
https://labs.maarch.org/maarch/MaarchCourrier/commit/611b5d863edf34ddacea42252750d7b9cc5ea4f5
#29 Updated by GIT LAB about 1 year ago
Commit ajouté sur la branche feat/21763/develop de MaarchCourrier par Quentin RIBAC quentin.ribac@xelians.fr
FEAT #21763 TIME 0:20 put smtp errors in const array
https://labs.maarch.org/maarch/MaarchCourrier/commit/559f75e642b149f153b69f1c0d17f9fe0fd17527
#30 Updated by GIT LAB about 1 year ago
[MERGE REQUEST] Mergé sur 21.03_TMA7 (https://labs.maarch.org/maarch/MaarchCourrier/-/merge_requests/771)
#33 Updated by Emmanuel DILLARD about 1 year ago
- Due date changed from 09/16/2022 to 09/29/2022
#34 Updated by Hamza HRAMCHI about 1 year ago
- Status changed from R&D - En test to R&D - Terminé
#35 Updated by GIT LAB about 1 year ago
[MERGE REQUEST] Mergé sur 21.03 (https://labs.maarch.org/maarch/MaarchCourrier/-/merge_requests/771)
#36 Updated by GIT LAB about 1 year ago
[MERGE REQUEST] Mergé sur develop (https://labs.maarch.org/maarch/MaarchCourrier/-/merge_requests/771)
#37 Updated by Emmanuel DILLARD about 1 year ago
- ROADMAP set to version stable (tag)
#38 Updated by Emmanuel DILLARD 12 months ago
- Tags Courrier 21.03.24 added
#39 Updated by Emmanuel DILLARD 10 months ago
- Copied to Fonctionnalité #23044: TMA - Retours - Adaptation de la bascule d'adresse d'envoi SMTP existante à la réponse locale added