J'essaie d'envoyer un email interactif à mes clients. Dans le code ci-dessous, la page content.html
contient le contenu du corps de l'e-mail qui contient uniquement le html et le css. sendmail.php
enverra l'e-mail à l'adresse e-mail des destinataires.comment envoyer un email interactif
L'e-mail est envoyé avec succès par le sendmail.php
mais dans le courrier électronique, le corps html ne fonctionne pas comme prévu.
corps de l'e-mail devrait fonctionner comme dans cet exemple: https://codepen.io/freshinbox/pen/worqww
Mais l'affichage e-mail comme ceci:
J'ai essayé avec les deux comptes gmail et hotmail, mais le résultat est le même.
content.html
<html>
<head>
<style>
.keybox{
display:inline-block;
border:10px solid black;
}
.keybox label{
width:65px;
height:55px;
display:none;
padding-top:5px;
font-size:40px;
text-align:center;
}
#key1a:checked ~ .kinetic .box1 label:nth-child(2){
display:block;
}
#key1b:checked ~ .kinetic .box1 label:nth-child(3){
display:block;
}
#key1c:checked ~ .kinetic .box1 label:nth-child(4){
display:block;
}
#key1d:checked ~ .kinetic .box1 label:nth-child(1){
display:block;
}
</style>
</head>
<body>
<input id="key1a" name="key1" type=radio>
<input id="key1b" name="key1" type=radio>
<input id="key1c" name="key1" type=radio>
<input id="key1d" name="key1" type=radio checked><BR>
<div class="kinetic">
<div class="keybox box1">
<label for="key1a">X</label>
<label for="key1b">G</label>
<label for="key1c">H</label>
<label for="key1d">A</label>
</div>
</div>
</body>
</html>
sendmail.php
<?php
if(($Content = file_get_contents("content.html")) === false) {
$Content = "";
}
$FromName = "Sample";
$FromEmail = "[email protected]";
$ReplyTo = "[email protected]";
$ToEmail = "[email protected]";
$Subject = "Test";
$Headers = "MIME-Version: 1.0\n";
$Headers .= "Content-type: text/html; charset=iso-8859-1\n";
$Headers .= "From: ".$FromName." <".$FromEmail.">\n";
$Headers .= "Reply-To: ".$ReplyTo."\n";
$Headers .= "X-Sender: <".$FromEmail.">\n";
$Headers .= "X-Mailer: PHP\n";
$Headers .= "X-Priority: 1\n";
$Headers .= "Return-Path: <".$FromEmail.">\n";
if(mail($ToEmail, $Subject, $Content, $Headers) == false) {
echo "ERRRO!";
}
else{
echo "OK!";
}
?>
Vous ne pouvez pas inclure de feuille de style incorporée ou incluse dans les e-mails. Vous devez l'avoir en ligne. Compte tenu de votre contenu, vous ne pouvez pas envoyer de contenu interactif de cette façon. –
Utilisez 'inline-css' pour ajouter du style dans votre code HTML. Vous ne pouvez pas utiliser css comme ceci lors de l'envoi de mails. –
@PraveenKumar regardez [ceci] (https://www.emailonacid.com/blog/article/email-development/code-tutorial-how-to-build-an-interactive-puzzle-in-email?utm_referrer=freshinbox .com) exemple. Ils disent que nous pouvons envoyer des courriels interactifs. –