Bonjour,
Voila je rencontre un petit problème avec mon code.
Je récupère en automatique des mails sur une BAL et je lance un traitement en fonction de l'objet en récupérant les pièces jointes et en les transférant par mail à une autre adresse.
Le code est fonctionnel mais je pense que je dois rater quelque chose dans la construction du mail de réponse.b
En effet, lorsque j'ouvre mon mail par outlook, tout va bien mais lorsque je l'ouvre sur iOS, j'ai la pièce jointe et le texte du mail qui sont l'un sur l'autre pourtant je pense avoir bien séparer les différents blocs.
Décrivez ici votre code ou ce que vous cherchez à faire
$eol = PHP_EOL;
$message_html = "<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
<title>TITRE</title>
</head>
<body>
<b>Bonjour</b>, <br>
<br>
blablabla<br>
<br>
Cordialement,<br>
<b>blabla</b><br>
</body>
</html>";
$boundary = uniqid("_Part_".time(), true); //random unique string
$boundary2 = uniqid("_Part2_".time(), true); //random unique string
//==sujet.
$subject = " Emploi - CV demandé";
$subject = mb_encode_mimeheader($subject,"UTF-8");
//==header
$header = "From: \"Omercity\"<no-reply@test.fr>".$eol;
$header.= "Reply-to: \"Omercity\" <contact@test.fr>".$eol;
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"".$boundary."\"".$eol;
//==corps
$message = "--".$boundary.$eol;
$message .= "Content-Type: multipart/alternative;\n";
$message .= " boundary=\"$boundary2\"\n";
$message .= "\n";
$message .= "--$boundary2\n";
//==text
$message .= "Content-Type: text/plain; charset=utf-8\n";
$message .= "Content-Transfer-Encoding: 7bit\n";
$message .= "\n";
$message .= strip_tags($message_html); //remove any HTML tags
$message .= "\n";
//==html
$message .= "--$boundary2\n";
$message .= "Content-Type: text/html; charset=utf-8\n";
$message .= "Content-Transfer-Encoding: 7bit\n";
$message .= "\n";
$message .= $message_html;
$message .= "\n";
$message .= "--$boundary2--\n";
//==attachement
$message .= "\n";
$message .= "--$boundary\n";
$message .= "Content-Transfer-Encoding: base64\n";
$message .= "Content-Type: application/octet-stream; name=$filename;\n";
$message .= "Content-Disposition: attachment; filename=$filename;\n";
$message .= "\n";
$message .= $content;
$message .= "\n--$boundary";
//==fermeture
$message .= "--\n";
mail($mail, $subject, $message, $header);
Un peu d'aide ne serait pas de refus.
Merci d'avance
Sans t'apporter réellement de réponses, si il y a bien une chose sur lequel je préfère utiliser une dépendance, c'est dans le domaine du mail. Comme tu as un exemple ici, le fait que ça fonctionne à un endroit ne va pas le faire fonctionner à un autre endroit. Or, je doute que tu vas tester dans les 1001 cas possibles de lecture d'email pour être sûr d'avoir trouver le graal que tu cherches.
Par conséquent, je dirai, fait confiance à la communauté de dev, et utilise une dépendance tel que PHPMailer pour envoyer ton email. Au moins, tu n'auras pas à te soucier des 150 cas particuliers qui vont faire que ça ne marche pas.
Merci :-)
je vais regarder dans ce sens alors. (Question con c'est possible sur un ovh mutu ?)