Visualizzazione risultati 1 fino 10 di 10

Discussione: Invio 2 allegati a singola email

  1. #1
    Guest

    Predefinito Invio 2 allegati a singola email

    ragazzi ho fatto uno scriptino per inviarmi 2 allegati ad una email..
    questo e il codice..
    l'unico problema e ke quando ricevo l'email mi arriva un solo allegato.
    non capisco perche,
    ki mi puo aiutare?
    Codice PHP:
    <?
    $to
    = "tuamail@tuohost.dominio";
    $subject = "Fotomontaggio $marca $modello da $nick";

    # 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'];
    $file2_content = $_FILES['file2']['tmp_name'];
    $file2_name = $_FILES['file2']['name'];
    $file2_type = $_FILES['file2']['type'];
    $file2_size = $_FILES['file2']['size'];

    if (
    $file_size <= 300000 && $file2_size <= 300000){ ## se l'attach è al max 300 kbyte allora spedisco

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


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

    $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 .= "Ricevuto da: $nick\n\n\n\n";
    $mail_body .= "Fotomontaggio: $marca\n\n\n\n";
    $mail_body .= "Modello: $modello\n\n\n\n";
    $mail_body .= "--$mail_boundary\n";
    $filename = basename($file_name);
    $file2name = basename($file2_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 .= "Content-type:application/octet-stream; name=$file2name\r\n";
    $mail_body .= "Content-transfer-encoding:base64\r\n\r\n";
    $mail_body .= $file2. "\r\n\r\n";
    $mail_body .= "--$mail_boundary--\r\n";
    $ris = mail("$to", $subject, $mail_body, $mail_headers);

    if (
    $ris){
    print
    "
    <div align=\"center\">
    <h2>Fotomontaggio
    $marca $modello è stato inviato con successo!</h2>
    </div>"
    ;
    }
    else {
    print
    "
    <div align=\"center\">
    <h2>Il Fotomontaggio NON &egrave; stato spedito!</h2>
    </div>"
    ;
    }
    }
    else {
    ## se l'attach supera i 300 kbyte allora NON spedisco
    print "
    <div align=\"center\">
    <h2> Errore Fotomontaggio &egrave; maggiore di 300 kByte!</h2>
    </div>"
    ;
    }
    ?>

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Spedisci un solo allegato perché nella funzione mail c'è l'header che contiene solo il primo allegato.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    Guest

    Predefinito

    non ho capito che vuoi dire..
    non sono riuscito a risolvere..

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Tu crei due "mail headers" che sono $mail_headers e $mail_headers2, ma nella funzione mail metti solo $mail_headers (com'è giusto che sia) e quindi spedisci un solo allegato. Per spedire due allegati al primo "mail header" dovresti aggiungere i dati del secondo "mail header".
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    Guest

    Predefinito

    non fa lo stesso..
    ho fatto quello ke mi hai detto di aggiungere $mail2_headers nella funzione mail
    ma non ricevo comunque il secondo allegato..

  6. #6
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Prova a scrivere il codice che utilizzi ora perché dalla tua risposta credo che non hai capito cosa intendessi nel mio messaggio precedente.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  7. #7
    Guest

    Predefinito

    eccolo qua Funcool

    Codice PHP:
    <?
    $to
    = "tuamail@nomesito.dominio";
    $subject = "Fotomontaggio $marca $modello da $nick";

    # 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'];
    $file2_content = $_FILES['file2']['tmp_name'];
    $file2_name = $_FILES['file2']['name'];
    $file2_type = $_FILES['file2']['type'];
    $file2_size = $_FILES['file2']['size'];

    if (
    $file_size <= 300000 && $file2_size <= 300000){ ## se l'attach è al max 300 kbyte allora spedisco

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


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

    $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 .= "Ricevuto da: $nick\n\n\n\n";
    $mail_body .= "Fotomontaggio: $marca\n\n\n\n";
    $mail_body .= "Modello: $modello\n\n\n\n";
    $mail_body .= "--$mail_boundary\n";
    $filename = basename($file_name);
    $file2name = basename($file2_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 .= "Content-type:application/octet-stream; name=$file2name\r\n";
    $mail_body .= "Content-transfer-encoding:base64\r\n\r\n";
    $mail_body .= $file2. "\r\n\r\n";
    $mail_body .= "--$mail_boundary--\r\n";
    $ris = mail("$to", $subject, $mail_body, $mail_headers, $mail2_headers);

    if (
    $ris){
    print
    "
    <div align=\"center\">
    <h2>Fotomontaggio
    $marca $modello è stato inviato con successo!</h2>
    </div>"
    ;
    }
    else {
    print
    "
    <div align=\"center\">
    <h2>Il Fotomontaggio NON &egrave; stato spedito!</h2>
    </div>"
    ;
    }
    }
    else {
    ## se l'attach supera i 300 kbyte allora NON spedisco
    print "
    <div align=\"center\">
    <h2> Errore Fotomontaggio &egrave; maggiore di 300 kByte!</h2>
    </div>"
    ;
    }
    ?>

  8. #8
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Non devi aggiungere il secondo header nella funzione ma lo dovresti mettere dentro al primo header.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  9. #9
    Guest

    Predefinito

    fun nn ti capisco xD
    mi potresti correggere lo script ke femo prima?

  10. #10
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Prova a modificare la funzione mail in questo modo:
    Codice PHP:
    $ris = mail("$to", $subject, $mail_body, $mail_headers.$mail2_headers);
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

Regole di scrittura

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