Domanda

Ho usato questo esempio sul sito PHP di inviare una e-mail HTML, ma quando ricevo una mail inviata dallo script rende i tag nel client (Outlook)

<?php
// multiple recipients
$to  = 'aidan@example.com' . ', '; // note the comma
$to .= 'wez@example.com';

// subject
$subject = 'Birthday Reminders for August';

// message
$message = '
<html>
<head>
<title>Birthday Reminders for August</title> 
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
<tr>
  <th>Person</th><th>Day</th><th>Month</th><th>Year</th>
</tr>
<tr>
  <td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
</tr>
<tr>
  <td>Sally</td><td>17th</td><td>August</td><td>1973</td>
</tr>
 </table>
</body>
 </html>
 ';

// To send HTML mail, the Content-type header must be set
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Additional headers
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";

// Mail it
mail($to, $subject, $message, $headers);
?>

Il mio cliente è impostato per ricevere posta HTML -, quindi non sono sicuro di quello che sta succedendo. Eventuali puntatori?

È stato utile?

Soluzione

Non so come risolvere lo script esistente, ma per l'invio di e-mail HTML, vi consiglio di usare sempre una classe di ready-made come PHPMailer : fornisce una manipolazione sicura e pulita di posta elettronica in più parti, i destinatari multipli, e anche di file allegati.

Altri suggerimenti

Il tuo codice funziona per me. Se Outlook ha una funzione per vedere il codice sorgente originale di un messaggio, è necessario controllare con attenzione e vedere se c'è qualcosa che non va.

A volte il client di posta elettronica sarebbe ignorare alcune intestazioni se vi capita di mescolare linea di stile Windows e Unix alimenta.

Inoltre:

  • Non aggiunge a di intestazione in modo esplicito. PHP lo farà per voi.

  • Rimuovi i rendimenti leader a capo di $ headers.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top