Visualizzazione risultati 1 fino 4 di 4

Discussione: [php] NewsLetter

  1. #1
    Guest

    Predefinito [php] NewsLetter

    Ciao ho il seguente problema
    devo inviare una newsletters a x contatti selezionando il file html da inviare (non in allegato) già presente sul sito. Ho provato in divense maniere ma ricevo una email vuota. Di seguito posto il codice che uso:

    ---
    Codice PHP:
    <?php
    $page
    = file_get_contents("http://www.miosito.com/news01.html");
    $header = "From: Inviante <inviante@email.com>\n";
    $header .= "X-Mailer: Il nostro Php\n";
    $header .= "MIME-Version: 1.0\n";
    $header .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
    $header .= "Content-Transfer-Encoding: 7bit\n\n";

    $messaggio = "$page";

    $subject = "Prova messaggio";
    if( @
    mail("ricevente@email.com", $subject, $messaggio, $header) ) echo "e-mail inviata con successo!";
    else echo
    "errore nell'invio dell'e-mail!";
    ?>
    ---
    Qualcuno puo' aiutarmi????
    Ultima modifica di musicanapoli : 17-03-2010 alle ore 14.54.22 Motivo: Codice racchiuso tra i tags

  2. #2
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    La variabile $messaggio ha come contenuto lo stesso valore della variabile $page o è semplicemente una stringa con valore "$page"?

    se è la prima ipotesi hai sbagliato, visto che la variabile $messaggio contiene solo la stringa "$page".

    In questo caso di consiglio di utilizzare direttamente la variabile $page e di levare quella chiocciola prima della funzione mail.

    Prova in questo modo:
    Codice PHP:
    <?php
    $page
    = file_get_contents("http://www.miosito.com/news01.html");
    $header = "From: Inviante <inviante@email.com>\n";
    $header .= "X-Mailer: Il nostro Php\n";
    $header .= "MIME-Version: 1.0\n";
    $header .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
    $header .= "Content-Transfer-Encoding: 7bit\n\n";
    $subject = "Prova messaggio";

    if(
    mail("ricevente@email.com", $subject, $page, $header)) {
    echo
    "e-mail inviata con successo!";
    }else {
    echo
    "errore nell'invio dell'e-mail!";
    }
    ?>
    Lo so che in questo caso le parentesi del'istruzione if ed else possono anche non andare, ma per precauzione e sempre meglio metterle.
    Ultima modifica di sevenjeak : 17-03-2010 alle ore 17.47.47

    Sevenjeak
    Software developer and much more

  3. #3
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    L'email è vuota perchè file_get_contents funziona solo con url relativi e non assoluti.
    Se devi leggere un file remoto devi utilizzare cURL o fsockopen.

    Citazione Originalmente inviato da zemas Visualizza messaggio
    il file html da inviare (non in allegato) già presente sul sito.
    Se il file è sul sito, devi fare:
    Codice PHP:
    $page= file_get_contents("news01.html");
    Ultima modifica di andreafallico : 17-03-2010 alle ore 19.15.00

  4. #4
    Guest

    Predefinito

    Grazie sevenjeak ho seguito le modifiche ma purtroppo il risultato non cambia.

    Provero' a utilizzare cURL o fsockopen grazie andreafallico.

    Non capisco solo una cosa, perchè se provo in locale l'email mi arriva
    l'email mi arriva corretta e visualizzo il file scelto??


    EDIT
    Grazie andreafallico,
    risolto grazie alla tua delucidazione
    Ultima modifica di musicanapoli : 18-03-2010 alle ore 17.29.42

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •