Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Problema Invio Mail HTML in PHP

    Premesse:

    1) Ho un Hosting Aruba ( mi pare Linux )

    2) Devo inviare una mail formattata in Html

    3) Voglio ke venga ben visualizzata sia da web che da i vari software di gestione posta

    Il codice Prova:

    Codice PHP:
    <?php
    /* destinatario */
    $destinatario  "mail@esempio.it"


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

    /* messaggio */
    $messaggio '
    <html>
    <head>
     <title>Promemoria compleanni di Agosto</title>
    </head>
    <body>


    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 "From:".$destinatario."\r\n";
    $intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";   


    /* ed infine l'invio */
    mail($destinatario$oggetto$messaggio$intestazioni);
    ?>
    L'esempio funziona perfettamente, ma ha un difetto:

    Quando apro la mail visualizzo all'inizio una stringa di questo tipo:

    Message-Id: <20061228090412.6724182E3@webx26.aruba.it> Date: Thu, 28 Dec 2006 10:04:12 +0100 (CET)

    Vorrei semplicemente omettere questa stringa.

    Grazie in anticipo!

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    non ho tempo di controllare il codice, comunque quella stringa fa parte degli header della mail, probabilmente hai formattato male gli header e quindi viene inserita nel body.


    Ciao

  3. #3
    Mi sa che hai ragione :master:

    Cmq se hai 2 secondi mi posteresti l'esatta impostazione degli HEADER?

    Ti ringrazio...

  4. #4
    Ok ho risolto settando gli Header in questo modo:

    Codice PHP:
             $headers  "MIME-Version: 1.0\n"
                    
    $headers .= "Content-type: text/html; charset=iso-8859-1\n"
                    
    $headers .= "X-Priority: 1\n"
                    
    $headers .= "X-MSMail-Priority: High\n"
                    
    $headers .= "X-Mailer: PHP4\n"
                    
    $headers .= "From: [email]mail@esempio.it[/email]\n"
                    
    $headers .= "To: [email]mail@esempio.it[/email]\n"
                    
    $headers .= "Reply-To: [email]mail@esempio.it[/email]\n"
    Grazie della dritta...

    Morale della favola (se ho ben capito):

    - Alcuni header vanno specificati obbligatoriamante (anche se su php.net sotto la funzione MAIL() li da come "aggiuntivi")

    - C'è un ordine esatto in cui dichiararli credo.

    Se sbaglio correggetemi eh?

    Grazie ancora a Gianiaz.

  5. #5
    Oh Oh.....

    Finchè è del codice semplice come questo:

    Codice PHP:
    <html
    <
    head
    <
    title>Promemoria compleanni di Agosto</title
    </
    head
    <
    body


    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
    funziona....

    ma se lo cambio un po', anche utilizzando Dreamweaver il Server non mi invia la Mail.

    nota= ho tolto eventuali virgolette " ma non invia nulla.

    Cosa sbaglio?

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    guarda, le mail sono rognose, basta una virgola fuori posto a mandare tutto a quel paese.

    Se vuoi un consiglio la classe phpmailer è eccezionale, permette di inviare le mail sia usando la funzione mail() che passando smtp user e pass.

    Ciao

  7. #7

  8. #8
    ciao ti posso dire come amministratore di vari server linux che la stringa che dici te
    Message-Id: <20061228090412.6724182E3@webx26.aruba.it> Date: Thu, 28 Dec 2006 10:04:12 +0100 (CET)
    è un stringa che genera automaticamente dei server mail nel messaggio e si verifica quando te non ti autentichi al server ma sei nella loro lista di relay ...
    anche io ho avuto il tuo stesso problema e ho risolto con PHPmailer ...


    ciao ciao
    www.jmagazzino.org - gestione magazzino – fatturazione – sistema Ticket - gestione dare /avere - gestione contratti e servizi
    OPEN SOURCE !! Se sei interessato a contribuire al progetto vieni a trovarci nel sito !! Sarai il benvenuto !!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.