testo di una mail

 :bye:,

devo spedire un testo di una mail con php ma vorrei che in Outlook , quando l'apro venisse stampato in grassetto:

mail("$maildest", "$oggetto", "<b>ciao</b>");

cioè nella mail che ricevo vorrei vedere visualizzato ciao (in grassetto) mentre mi ritrovo <b>ciao</b> che in effetti è il testo della mail..

come posso fare per ottenere il grassetto? (questo è solo un piccolo esempio.. ma in realtà devo riuscire a visualizzare una pagina con grassetti e corsivi.. che visualizzi in modo ordinato al destinatario un certo prodotto)

Php lo permette? se sì come?

 ???

Gilles ... forever!!...

inviato 10 anni fa
gilles27
X 0 X

La email nascono prima di PHP pertanto per ottenere un determinato risultato bisogna semplicemente attenersi a quelle che sono le specifiche e gli standard.

Le email sono composte da diverse intestazioni seguite dal testo vero e proprio. Nelle intestazioni compaiono diverse informazioni come il mittente, il destinatario, l'oggetto. Nelle intestazioni è anche possibile specificare come deve essere interpretato il testo della mail, è possibile cioè dire se si tratta di testo seplice oppure di HTML.

Basta guardare nella documentazione ufficiale per trovare un esempio di email con testo in HTML:

<?php
/* destinatari */
$destinatari  = "Maria <maria@example.com>" . ", " ; // notare la virgola
$destinatari .= "Enrica <enrica@example.com>";

/* oggetto */
$oggetto = "Promemoria compleanni di Agosto";

/* messaggio */
$messaggio = '
<html>
<head>
 <title>Promemoria compleanni di Agosto</title>
</head>
<body>
<p>Questi sono i compleanni di Agosto!</p>
<table>
 <tr>
  <th>Persona</th><th>Giorno</th><th>Mese</th><th>Anno</th>
 </tr>
 <tr>
  <td>Walter</td><td>11</td><td>Agosto</td><td>1946</td>
 </tr>
 <tr>
  <td>Sara</td><td>14</td><td>Agosto</td><td>1985</td>
 </tr>
</table>
</body>
</html>
';

/* Per inviare email in formato HTML, si deve impostare l'intestazione Content-type. */
$intestazioni  = "MIME-Version: 1.0\r\n";
$intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* intestazioni addizionali */
$intestazioni .= "To: Mary <mary@example.com>, Kelly <kelly@example.com>\r\n";
$intestazioni .= "From: Promemoria Compleanni <compleanni@example.com>\r\n";
$intestazioni .= "Cc: archiviocompleanni@example.com\r\n";
$intestazioni .= "Bcc: controllocompleanni@example.com\r\n";

/* ed infine l'invio */
mail($destinatari, $oggetto, $messaggio, $intestazioni);
?>

Come suggerisce il commento nel codice, per specificare che il testo della mail è in HTML basta aggiungere alle intestazioni il "Content-type: text/html;"

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

E' quasi tutto ok ma.. dovrei stampare nella mail anche i valori delle variabili..  ma nella mail che mi arriva non c'è scritto niente.

Se io ho:

/* messaggio */
$messaggiomail = '
<html>
<head>
 <title>Prenotazioni </title>
</head>
<body>



<?php

$mionome = "f";

echo $mionome;

?>




</body>
</html>
';

Vorrei che nella mail che mi arriva e leggo con Outlook ci sia "f" invece è vuota.. perchè?

Cosa devo correggere per vedere nella mail quel valore?

 :(

risposto 10 anni fa
gilles27
X 0 X

Il problema è nell'uso degli apici per la creazione di stringhe. Quando si vuole che PHP riconosca le variabili presenti all'interno di una stringa bisogna usare i doppi apici.

Per i dettagli puoi leggere questa lezione del corso PHP base:

http://www.phpnews.it/content/view/243/107/

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Non lo so.. mi pare di aver provato prima anche con doppi apici ma non mi funzionava.. cmq ho trovato un esempio e sono riuscito a risolvere il problema.. ora la mail mi arriva così come volevo... con tutte le decorazioni natalizie ;D ..

Thanks per i consigli SuperGianni  O0 O0 O0  ;).. questo è un gran bel sito.. sopratutto le cose sono spiegate bene e chiaramente. Secondo me dovresti  farne uno dove spieghi Oracle.. so che è molto importante oggi nel mondo del lavoro.. io poi vorrei dare l'esame il prox semestre e cerco un cybertutor come te ma per Oracle..

risposto 10 anni fa
gilles27
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda