Visualizzazione risultati 1 fino 18 di 18

Discussione: allegati e funzione mail()

  1. #1
    L'avatar di domenicoragusa
    domenicoragusa non è connesso Altervistiano Junior
    Data registrazione
    03-06-2005
    Messaggi
    618

    Post allegati e funzione mail()

    potete spiegarmi come fare per mandare insieme alle email anche dei piccoli allegati, usando la funzione mail(). Grazie anticipatamente.

  2. #2
    Guest

    Predefinito

    Ho fatto delle prove qua: http://golfox.altervista.org/tutoria...con_attach.php

    dovrebbe funzionare correttamente... almeno a me funziona

    Ciao

  3. #3
    L'avatar di domenicoragusa
    domenicoragusa non è connesso Altervistiano Junior
    Data registrazione
    03-06-2005
    Messaggi
    618

    Post

    grazie adesso provo...

    [edit]funziona anche bene però, il form per l'email lo so fare, compresa la pagina php per mandare l'email...puoi darmi il codice che hai usato per l'allegato, vedendo quel codice mi è venuto un giramento di testa, il mio è più semplice, ma mooooolto efficace.[/edit]
    Ultima modifica di domenicoragusa : 02-09-2005 alle ore 13.06.43

  4. #4
    Guest

    Predefinito

    Citazione Originalmente inviato da domenicoragusa
    grazie adesso provo...

    [edit]funziona anche bene però, il form per l'email lo so fare, compresa la pagina php per mandare l'email...puoi darmi il codice che hai usato per l'allegato, vedendo quel codice mi è venuto un giramento di testa, il mio è più semplice, ma mooooolto efficace.[/edit]
    Beh, la parte php è corta!!! Il resto è tutto JS e HTML.
    Faccio vedere sempre tutto il codice perché altrimenti non riesci a capire che variabili sono quelle che utilizzo e da dove vengono.

    Comunque eccoti accontentato/a:

    Codice PHP:
    #### imposto l'email e la spedisco ####
    $mail_boundary = md5(uniqid(time()));
    $mail_headers = "From: {$from}\n";
    $mail_headers .= "Reply-To: {$from}\n";
    $mail_headers .= "X-Priority: 1 (Highest)\n";
    $mail_headers .= "MIME-Version: 1.0\r\n";
    $mail_headers .= "Content-type: multipart/mixed; boundary=\"$mail_boundary\"";
    $mail_headers .= "\r\n\r\n";
    $mail_headers .= "This is a multi-part message in MIME format. ";
    $mail_headers .= "\r\n\r\n";
    #$mail_headers .= "X-Mailer: PHP/" . phpversion();

    $file = fread(fopen($file_content, "r"), $file_size);
    $file = chunk_split(base64_encode($file));

    $mail_body = "--$mail_boundary\n";
    $mail_body .= "Content-type:text/plain; charset=US-ASCII\r\n";
    $mail_body .= "Content-transfer-encoding:8 bit\r\n\r\n";
    $mail_body .= "{$testo}\n\n\n\n";
    $mail_body .= "--$mail_boundary\n";
    $filename = basename($file_name);
    $mail_body .= "Content-type:application/octet-stream; name=$filename\r\n";
    $mail_body .= "Content-transfer-encoding:base64\r\n\r\n";
    $mail_body .= $file . "\r\n\r\n";
    $mail_body .= "--$mail_boundary--\r\n";

    $ris = mail("$email", $subject, $mail_body, $mail_headers);
    Ciao

  5. #5
    L'avatar di domenicoragusa
    domenicoragusa non è connesso Altervistiano Junior
    Data registrazione
    03-06-2005
    Messaggi
    618

    Post

    Va be' non fa niente, posso anche mettere l'hd on line...
    Ultima modifica di domenicoragusa : 02-09-2005 alle ore 16.56.35

  6. #6
    Guest

    Predefinito

    Citazione Originalmente inviato da domenicoragusa
    Va be' non fa niente, posso anche mettere l'hd on line...
    Se vuoi fare polemica caschi male...
    Non vedo cosa ci sia di difficile nella parte di codice che ti ho messo.

    Visto che ne sai a pacchi di php quelle quattro righe le dovresti capire al volo: è una banalissima sequenza di azioni e se non conosci le funzioni te le vai a vedere nel sito del php.

    Ciao
    Ultima modifica di golfox : 02-09-2005 alle ore 20.14.36

  7. #7
    L'avatar di domenicoragusa
    domenicoragusa non è connesso Altervistiano Junior
    Data registrazione
    03-06-2005
    Messaggi
    618

    Predefinito

    Ci siamo fraintesi tu hai capito che sono "un'esperto" ed invece sono un neofita; ieri ho iniziato con il php; quel codice per me è difficile...

  8. #8
    Guest

    Predefinito

    usa lo script mio di upload allora lo puoi scaricare da qui l'unica cosa ke devi fare è sistemare la grafica xke ci ho messo 10 min a farlo e nn l'ho sistemata

  9. #9
    L'avatar di domenicoragusa
    domenicoragusa non è connesso Altervistiano Junior
    Data registrazione
    03-06-2005
    Messaggi
    618

    Predefinito

    grazie domani lo proverò, ora devo andare a mangiare...
    Ciao

  10. #10
    Guest

    Predefinito

    Citazione Originalmente inviato da domenicoragusa
    Ci siamo fraintesi tu hai capito che sono "un'esperto" ed invece sono un neofita; ieri ho iniziato con il php; quel codice per me è difficile...
    Allora scusami... quando mi hai parlato di codice "mooooolto efficace" ho pensato ad un "piaccapiquattrista"... a questo punto sarebbe più semplice se tu mi postassi il tuo codice che poi ti metto io il codice per l'allegato dato che comunque deve essere un po' modificato anche il tuo codice. Comunque fai molta attenzione all'header peché è quello che ti permette di vedere correttamente l'allegato. nella fattispecie occhio a questa riga:
    Codice PHP:
    $mail_headers .= "Content-type: multipart/mixed; boundary=\"$mail_boundary\"";
    e alla costruzione del body (var. $mail_body).

    Ciao

  11. #11
    Guest

    Predefinito

    Citazione Originalmente inviato da jostock
    usa lo script mio di upload allora lo puoi scaricare da qui l'unica cosa ke devi fare è sistemare la grafica xke ci ho messo 10 min a farlo e nn l'ho sistemata
    Una domanda, giusto per capire la "filosofia" del tuo discorso: cosa centra l'upload di un file su file system con l'invio di una email con allegato?

    Ciao

  12. #12
    L'avatar di domenicoragusa
    domenicoragusa non è connesso Altervistiano Junior
    Data registrazione
    03-06-2005
    Messaggi
    618

    Post

    jostock ha detto questo perchè io poi ho detto che mettevo l'hd online, aspetta, mo di to il codice; "piaccapiquattrista" cosa significa? forse è golfoxiano...

    ecco il codice
    Codice PHP:
    <?
    $intestazioni
    = "MIME-Version: 1.0\r\n";
    $intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";
    $messaggio="
    <html>
    <head>
    <title>Email dal sito</title>
    <style>
    body{
    color: #000000;
    background-color: #ffffff;
    font-family: Times new Roman;
    font-size: 12pt;
    text-align: justify;
    }
    </style>
    </head>
    <body>
    Nome:
    $nome<br>
    Email:
    $email<br>
    Motivo:
    $motivazione<br>
    Testo:
    $testo<br>
    Ip:
    $REMOTE_ADDR;<br>
    <hr>
    </body>
    <html>
    "
    ;
    mail("domenicoragusa@altervista.org", "Email dal sito", $messaggio, $intestazioni);
    ?>
    Ultima modifica di domenicoragusa : 03-09-2005 alle ore 12.08.09

  13. #13
    Guest

    Predefinito

    Allora...
    Innanzi tutto devi rinunciare all'html nel corpo della e-mail perché credo ci possano essere dei problemi nella composizione della mail stessa (messaggio + allegato)... tentare non nuoce.
    Consiglio: tieni presente che i css si possono disabilitare e che una mail senza "fronzoli" è sicuramente più leggibile e chiara per tutti.

    Codice PHP:
    <?
    $mail_boundary
    = md5(uniqid(time()));
    $intestazioni = "MIME-Version: 1.0\r\n";
    $intestazioni .= "Content-type: multipart/mixed; boundary=\"$mail_boundary\"";
    $file = fread(fopen($file_content, "r"), $file_size);
    $file = chunk_split(base64_encode($file));
    $messaggio = "--$mail_boundary\n";
    $messaggio .= "Content-type:text/plain; charset=US-ASCII\r\n";
    $messaggio .= "Content-transfer-encoding:8 bit\r\n\r\n";
    $messaggio .= "<html>
    <head>
    <title>Email dal sito</title>
    <style>
    body{
    color: #000000;
    background-color: #ffffff;
    font-family: Times new Roman;
    font-size: 12pt;
    text-align: justify;
    }
    </style>
    </head>
    <body>
    Nome:
    $nome<br>
    Email:
    $email<br>
    Motivo:
    $motivazione<br>
    Testo:
    $testo<br>
    Ip:
    $REMOTE_ADDR;<br>
    <hr>
    </body>
    <html>
    \n\n\n\n"
    ;
    $messaggio .= "--$mail_boundary\n";
    $filename = basename($file_name);
    $messaggio .= "Content-type:application/octet-stream; name=$filename\r\n";
    $messaggio .= "Content-transfer-encoding:base64\r\n\r\n";
    $messaggio .= $file . "\r\n\r\n";
    $messaggio .= "--$mail_boundary--\r\n";
    mail("domenicoragusa@altervista.org", "Email dal sito", $messaggio, $intestazioni);
    ?>
    Il codice che ti ho messo qua non l'ho provato, inoltre ci sono delle variabili non assegnate (quelle del file da allegare) quindi sicuramente non funziona al volo. Ti ho messo il minimo indispensabile (non c'è la priorità, il from e il reply to e altre cose). A proposito: dove tieni il file da allegare? lo tieni sul server o fai un upload?

    Vedo che hai delle variabili tipo $motivazione, $testo e compagnia: immagino tu li prenda da un form.

    Fai molta anntenzione che qua non ti ho messo l'apertura del file da allegare e comunque faresti prima a copiare il mio script che già funziona poi sarai tu ad adattarlo come vuoi.

    Per avere 12 anni sei già parecchio intraprendente e quindi posso farti solo i complimenti, purtroppo per allegare un file ad una e-mail bisogna sapere un po' di cosucce di base per cui devi solo portare pazienza. Vedrai che avrai da soffrire su questa cosa.

    P.S. "piaccapiquattrista" viene da PHP4 cioè il linguaggio che stai utilizzando... non c'è niente di golfoxiano :smile:

    Ciao

  14. #14
    L'avatar di domenicoragusa
    domenicoragusa non è connesso Altervistiano Junior
    Data registrazione
    03-06-2005
    Messaggi
    618

    Post

    si uso un form, ora devo aggiungere nel form il campo per il file, vorrei usare l'upload per gli allegati; il campo del file come si deve chiamare?
    Grazie

    P.S. che vergogna, non so neanche il nome del linguaggio che sto imparando...
    ma il 4 (del php4) è la versione vero?
    Ultima modifica di domenicoragusa : 03-09-2005 alle ore 13.15.32

  15. #15
    Guest

    Predefinito

    Se vai nel mio esempio vedrai che il file viene preso dal form con il nome file e la parte che istanzia le variabili per poter spedire il file è questa:

    Codice PHP:
    # MEMORIZZIAMO NELLA VARIABILE $file_content IL CONTENUTO DEL FILE
    $file_content = $_FILES['file']['tmp_name'];
    $file_name = $_FILES['file']['name'];
    $file_type = $_FILES['file']['type'];
    $file_size = $_FILES['file']['size'];
    La variabile $file_type in realtà non ti serve... l'ho messa solo per completezza e per fare delle prove.

    Ciao

    P.S. si, il 4 del PHP4 corrisponde alla versione del php

  16. #16
    L'avatar di domenicoragusa
    domenicoragusa non è connesso Altervistiano Junior
    Data registrazione
    03-06-2005
    Messaggi
    618

    Predefinito

    per quanto riguarda i fronzoli, ho messo lo script a posto, però non riesco a farmi mandare l'allegato, vsto che non voglio farti perdere tempo e non voglio perdere tempo, metterò l'hd on line, non fa niente, quando diventerò più esperto ci proverò nuovamente;
    ora metto il codice del mio script, mooooolto più corto e funzionale ugualmente.
    Codice PHP:
    <?
    $intestazioni
    = "MIME-Version: 1.0\r\n";
    $intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";
    $messaggio="
    Nome:
    $nome<br>
    Email:
    $email<br>
    Motivo:
    $motivazione<br>
    Testo:
    $testo<br>
    Ip:
    $REMOTE_ADDR;<br>
    "
    ;
    mail("domenicoragusa@altervista.org", "Email dal sito", $messaggio, $intestazioni);
    ?>
    Grazie per il tuo aiuto.
    Ciao

    Ora vado a stu diare nel tuo sito....chissà forse divento bravo come te...


    P.S. dove sono i tutorial???? una pagina bianca?
    Ultima modifica di domenicoragusa : 03-09-2005 alle ore 19.13.56

  17. #17
    Guest

    Predefinito

    Citazione Originalmente inviato da domenicoragusa
    P.S. dove sono i tutorial???? una pagina bianca?
    Purtroppo non ho mai tempo di mettere a posto il mio sito che tra l'altro deve essere anche un po' "rinfrescato". Comunque ti manderò un mp con i link e lì potrai vedere quello che ho fatto.

    Ciao

  18. #18
    L'avatar di domenicoragusa
    domenicoragusa non è connesso Altervistiano Junior
    Data registrazione
    03-06-2005
    Messaggi
    618

    Predefinito

    ok, grazie

Regole di scrittura

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