Domanda

Sto inviando l'eco alla funzione di posta elettronica tramite PHP dalla variabile che include il codice HTML. La cosa strana è che questo

<����}im�

si presenta DOPO la stringa .. ma non la manipolo più. Il set di caratteri della funzione mail (l'allegato) è lo stesso del set di caratteri del codice HTML.

È stato utile?

Soluzione

Problema di codifica, forse prova a visualizzare il codice binario?

Dovresti usare htmlentities se vuoi visualizzare HTML

  

// Output: un 'preventivo' è

     

< b > grassetto < / b > echo

     

htmlentities ($ str);

Altri suggerimenti

Quei personaggi sono probabilmente " junk " dati nella tua stringa. A seconda di dove provenga la stringa da questi caratteri potrebbero essere: dati TCP aggiuntivi nel socket dopo la pagina HTML, o dati extra nel file dopo la pagina HTML, o qualcun altro effettivamente mettere questi caratteri nella loro pagina HTML (forse il loro file è stato accidentalmente danneggiato o per qualche altro motivo).

Potresti prendere in considerazione l'utilizzo della htmlMimeMail per la gestione della posta elettronica. Quindi puoi evitare i cattivi interni della posta elettronica.

Questo è il problema che ho .. Uso il codice dall'origine Internet, la fattura $ body viene generata e questa invia l'e-mail .. Quei caratteri si trovano alla fine del file sorgente HTML ma non capisco perché diavolo ci sono :(

$to = 'email@email.com';
$subject = 'Invoice';
$random_hash = md5(date('r', time()));
$headers = "From: mymail@mymail.com\r\nReply-To: webmaster@example.com";
$headers .= "\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\"";
$body=rtrim(chunk_split(base64_encode($body))); 
//define the body of the message.
ob_start(); //Turn on output buffering
?>
--PHP-mixed-<?php echo $random_hash; ?> 
Content-Type: multipart/alternative; boundary="PHP-alt-<?php echo $random_hash; ?>"

--PHP-alt-<?php echo $random_hash; ?> 
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit

Hello World!!!
This is simple text email message.

--PHP-alt-<?php echo $random_hash; ?> 
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: 7bit

Text Emailu.

--PHP-alt-<?php echo $random_hash; ?>--

--PHP-mixed-<?php echo $random_hash; ?> 
Content-Type: text/html; charset="UTF-8"; name="faktura.html" 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment 

<?php echo htmlentities($body); ?>
--PHP-mixed-<?php echo $random_hash; ?>--

<?php
//copy current buffer contents into $message variable and delete current output buffer
$message = ob_get_clean();
//send the email
$mail_sent = @mail( $to, $subject, $message, $headers );
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top