Si, car l'URL de l'image est en fait l'url de validation (avec un "http-accept=image/png" dans l'URL pour que le serveur retourne une image et non une page web)
Si j'envoie un mail texte avec du rouge ou du vert, y'a pas de validation.
Si j'envoie un mail avec une image dont l'URL est celle de validation, si l'utilisateur autorise l'affichage des images, alors son client mail ira requêter cette URL d'image, qui validera le compte et retournera une jolie image verte. Ou une jolie image rouge si jamais le lien de validation est expiré/le mec a changé le mail de son compte entre temps. Et s'il n'autorise pas les images, alors il cliquera sur le lien de validation en dessous (et ne verra jamais ni vert ni rouge, vu qu'il n'a pas autorisé le chargement du contenu distant).
C'était justement l'intérêt de l'image ici: ne plus avoir besoin de cliquer sur le lien de validation pour confirmer qu'on a bien accès à la boite mail qu'on a accrochée à son compte de jeu (après, l'intérêt de valider cette adresse mail, c'est autre chose: ici, je voulais voir comment implémenter ce genre de fonctionnalité sur mon archi, et je voudrai à terme envoyer des notifs aux joueurs quand leur flotte est attaqué/qu'une de leur planète est détruite/etc)
La source du mail, pour aider à comprendre, est la suivante:
L'URL de l'image est donc bien l'URL de validation, au http-accept près, ce qui permet de "faire cliquer" automatiquement le joueur sur ce lien de validation, et confirmer son email sans qu'il n'ait réellement besoin de client le lien de validation en dessous.
PS: Ah, pas sûr que j'ai besoin du header "Status:200" dans ce mail
Si j'envoie un mail texte avec du rouge ou du vert, y'a pas de validation.
Si j'envoie un mail avec une image dont l'URL est celle de validation, si l'utilisateur autorise l'affichage des images, alors son client mail ira requêter cette URL d'image, qui validera le compte et retournera une jolie image verte. Ou une jolie image rouge si jamais le lien de validation est expiré/le mec a changé le mail de son compte entre temps. Et s'il n'autorise pas les images, alors il cliquera sur le lien de validation en dessous (et ne verra jamais ni vert ni rouge, vu qu'il n'a pas autorisé le chargement du contenu distant).
C'était justement l'intérêt de l'image ici: ne plus avoir besoin de cliquer sur le lien de validation pour confirmer qu'on a bien accès à la boite mail qu'on a accrochée à son compte de jeu (après, l'intérêt de valider cette adresse mail, c'est autre chose: ici, je voulais voir comment implémenter ce genre de fonctionnalité sur mon archi, et je voudrai à terme envoyer des notifs aux joueurs quand leur flotte est attaqué/qu'une de leur planète est détruite/etc)
La source du mail, pour aider à comprendre, est la suivante:
Code :
Status: 200
Content-Type: text/html;charset=utf-8
Content-Base: http://variispace.localhost:6080
Date: Fri, 25 Jan 2019 17:28:24 +0000
From: VariiSpace <jeu@varii.space>
To: Xenos8 <xenos2@reinom.com>
Subject: Variispace: Avez-vous reçu ce message?
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="icon" href="http://variispace.localhost:6080/resources/favicon.png"/>
<link rel="stylesheet" href="http://variispace.localhost:6080/resources/handler/player/myprofile/player-myprofile.css"/>
<script src="http://variispace.localhost:6080/resources/handler/player/myprofile/player-myprofile.js" defer="defer"></script>
<title>Avez-vous reçu ce message?</title>
</head>
<body class="game-container">
<p>
Si oui, cela signifie que vous avez bien renseigné votre email.<br/>
</p>
<p>
Ci dessous, vous devriez voir une image indiquant que cet email a bien été validé.<br/>
Si ce n'est pas le cas, demandez à votre client mail (GMail, Outlook, Thunderbird, etc)
d'afficher les images de l'email (ou "autoriser le contenu distant").<br/>
</p>
<img
src="http://variispace.localhost:6080/player/myprofile/validatemail/validate/?idPlayer=8&hashedEmail=0e20c9067f1962e5ce32babbec00c34e0add7adddf5972d70f31b2c5aa65ca9e&expires=1548440904&signature=b386463f0ed53c0800aa8295f41a0b17a3f8e7a58fa0d79b8a9b3d335a10650c&http-accept=image%2Fpng"
alt="Cette image doit apparaitre, et doit vous indiquer que votre email a bien été validé"/>
<p>
Si malgré cela, l'image n'apparait toujours pas, vous pouvez également cliquer sur le lien ci-dessous:
<a href="http://variispace.localhost:6080/player/myprofile/validatemail/validate/?idPlayer=8&hashedEmail=0e20c9067f1962e5ce32babbec00c34e0add7adddf5972d70f31b2c5aa65ca9e&expires=1548440904&signature=b386463f0ed53c0800aa8295f41a0b17a3f8e7a58fa0d79b8a9b3d335a10650c">
http://variispace.localhost:6080/player/myprofile/validatemail/validate/?idPlayer=8&hashedEmail=0e20c9067f1962e5ce32babbec00c34e0add7adddf5972d70f31b2c5aa65ca9e&expires=1548440904&signature=b386463f0ed53c0800aa8295f41a0b17a3f8e7a58fa0d79b8a9b3d335a10650c </a>
</p>
</body>
</html>
L'URL de l'image est donc bien l'URL de validation, au http-accept près, ce qui permet de "faire cliquer" automatiquement le joueur sur ce lien de validation, et confirmer son email sans qu'il n'ait réellement besoin de client le lien de validation en dessous.
PS: Ah, pas sûr que j'ai besoin du header "Status:200" dans ce mail