Bonjour, j'ai développé un script de newsletter pour envoyer des e-mails HTML.Erreur dans les liens HTML qui envoient des e-mails à Gmail
Tout fonctionne très bien pour les clients de messagerie de bureau, mais je remarque quand j'envoie à un compte gmail, les liens html ne fonctionnent pas alors que les images incorporées, CSS, mise en page fonctionnent très bien. changement Gmail
<a href="myurl" title="My url">link</a>
à
<a title="My url">link</a>
j'ai trouvé quelques sujets autour, sans solutions.
c'est comment je construis l'e-mail, dans le corps de $ var sont les liens HTML standard:
fonctionsend_mail ($ de, $ à, $ subject, $ body, $ site_skin, $ nom_site, $ site_url { // en-tête général $ header = "De: $ nom_site \ n"; $ header. = "BCC: $ à \ n"; $ header. = "X-Mailer: PHP5.3 \ n";
//separator string
$boundary = "==String_Boundary_x" .md5(time()). "x";
// specific message header
$header .= "MIME-Version: 1.0\n";
$header .= "Content-Type: multipart/related;\n";
$header .= " boundary=\"$boundary\";\n\n";
//this part is viewed only if the program cannot manage the MIME
$message = "your software dosen't support MIME\n\n";
$message .= "--$boundary\n";
$message .= "Content-Type: text/html; charset=\"utf-8\"\n";
$message .= "Content-Transfer-Encoding: 7bit\n\n";
$title_newsletter ="$subject";
$mail_body = $body;
$subject = "$titoloNSL";
$mail_site_url="$site_url";
include ("../../../../themes/skins/$site_skin/email/email.php");
$message .= "$htmlBody";
$message .= "--$boundary\n";
$message .= "Content-ID: <header>\n";
$message .= "Content-Type: image/jpeg\n";
$message .= "Content-Transfer-Encoding: base64\n\n";
$embedded_file = "../../../../themes/skins/$site_skin/images/mail_header.jpg";
$file = fopen($embedded_file,'rb');
$data = fread($file,filesize($embedded_file));
fclose($file);
$data = chunk_split(base64_encode($data));
$message .= "$data\n\n";
$message .= "--$boundary\n";
$message .= "Content-ID: <go>\n";
$message .= "Content-Type: image/gif\n";
$message .= "Content-Transfer-Encoding: base64\n\n";
$embedded_file = "../../../../themes/skins/$site_skin/images/go.gif";
$file = fopen($embedded_file,'rb');
$data = fread($file,filesize($embedded_file));
fclose($file);
$data = chunk_split(base64_encode($data));
$message .= "$data\n\n";
$message .= "--$boundary--\n";
@mail($to, $subject, $message, $header);
}
le code était correct, j'ai inséré un faux lien qui était en noir, ou quelque chose comme ça, en insérant un autre lien tout fonctionne bien. – Mike