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

    Invio immagine PNG come allegato

    Ciao a tutti,
    ho un problema di invio di allegato in php.

    Ho utilizzato il seguente codice:

    http://www.daniweb.com/web-developme...achment-in-php

    Devo inviare dalla mia mail alla mia mail, l' immagine graficogenerato.png che è situato nella root principale del mio sito internet ( quindi non è in una sottocartella ).

    Se nella barra degli indirizzi metto il link completo l' immagine la visualizzo ma quando eseguo quel codice mi invia la mail correttamente, pure l' allegato ma l' allegato immagine è di 0 KB quindi quando apro il file non visualizzo nulla.

    Vi riporto il codice sostituito:


    codice:
      <?php
        $fileatt = "http://www.googleanalytics.altervista.org/graficogenerato.png"; // Path to the file
        $fileatt_type = "application/png"; // File Type
        $fileatt_name = "graficogenerato.png"; // Filename that will be used for the file as the attachment
        $email_from = "miamail@hotmail.it"; // Who the email is from
        $email_subject = "GRAFICO"; // The Subject of the email
        $email_txt = "GRAFICO"; // Message that the email has in it
        $email_to = "miamail@hotmail.it"; // Who the email is too
        $headers = "From: ".$email_from;
        $file = fopen($fileatt,'rb');
        $data = fread($file,filesize($fileatt));
        fclose($file);
        $semi_rand = md5(time());
        $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
        $headers .= "\nMIME-Version: 1.0\n" .
        "Content-Type: multipart/mixed;\n" .
        " boundary=\"{$mime_boundary}\"";
        $email_message .= "This is a multi-part message in MIME format.\n\n" .
        "--{$mime_boundary}\n" .
        "Content-Type:text/html; charset=\"iso-8859-1\"\n" .
        "Content-Transfer-Encoding: 7bit\n\n" .
        $email_message . "\n\n";
        $data = chunk_split(base64_encode($data));
        $email_message .= "--{$mime_boundary}\n" .
        "Content-Type: {$fileatt_type};\n" .
        " name=\"{$fileatt_name}\"\n" .
        //"Content-Disposition: attachment;\n" .
        //" filename=\"{$fileatt_name}\"\n" .
        "Content-Transfer-Encoding: base64\n\n" .
        $data . "\n\n" .
        "--{$mime_boundary}--\n";
        $ok = @mail($email_to, $email_subject, $email_message, $headers);
        if($ok) {
        echo "<font face=verdana size=2>The file was successfully sent!</font>";
        } else {
        die("Sorry but the email could not be sent. Please go back and try again!");
        }
        ?>
    Ho subito pensato che il problema potesse essere alla seconda riga, ho sostituito con $fileatt_type = "image/png"; ma ho lo stesso problema...

    Come posso risolvere?

    Grazie

  2. #2
    nessuno sa aiutarmi ragazzi?

  3. #3
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Butta via quellacrocchio inguardabile e usa phpmailer
    http://forum.html.it/forum/showthrea...readid=1215634

  4. #4
    Sarà anche crocchio ma phpmailer non si può usare su altervista...e io ho altervista..

  5. #5
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    o.O come non lo puoi usare su altervista....
    se usi la classe base non funziona ?

  6. #6
    Anche a me sembrava assurdo, ma purtroppo è così...

    http://forum.it.altervista.org/php-m...tare-smtp.html
    http://fabiobonanni.altervista.org/a...p?page=1&id=39

    L' unica funzione che posso usare è mail().Mi sembra davvero tutto corretto il mio codice, ma non va...hai qualche idea?Grazie

  7. #7
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Guarda che non ti dicono che non puoi usarla !!!!
    TI dicono che non ti anno un server smtp...

    PHP mailer ti consente di usare un server smtp esterno, quinidi e' meglio che usi tale classe e imposti un account google e usi l'smtp di google per spedire le emails... o anche altro server a tuo piacere, ti basta eseguire la connessione e il login. COsa che con php mailer fai tranquillamente , ma se devi farla te da 0 e usare la funzione mail() ti spari sui marones

    Quindi installa la classa phpmailer. COnfigurala per l'utilizzo di server smtp esterno e vedrai che funziona.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.