Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Mail con più allegati

  1. #1

    Mail con più allegati

    Salve

    Ho uno scrippettino php che mi dovrebbe inviare email con un numero variabile di allegati e per far questo mi son ispirato a questa pillola:
    http://forum.html.it/forum/showthrea...hreadid=513009

    solo che mi invia esclusivamente il primo file e gli altri no..

    il codice che ho è questo:
    codice:
    $handle=opendir($attachment_dir);
    	while ($currfile = readdir($handle))  
    	{ 
    		 if ($currfile != "." && $currfile != "..")
    		 { 
    			$attachment_id = explode("-",$currfile);
    			if($attachment_id[0] == $_POST['message_id'])
    			{
    				$filez = fopen($attachment_dir.$currfile, "r"); 
    				$contents = fread($filez, filesize($attachment_dir.$currfile)); 
    				$encoded_attach = chunk_split(base64_encode($contents)); 
    				fclose($filez); 
    				$titolo = $currfile;
    				$filetype = filetype($attachment_dir.$currfile);
    				$mail_body .= "\n\n--Message-Boundary\n"; 
    				$mail_body .= "Content-type: $filetype; name=\"$titolo\"\n"; 
    				$mail_body .= "Content-Transfer-Encoding: BASE64\n"; 
    				$mail_body .= "Content-disposition: attachment; filename=\"$titolo\"\n\n";
    				$mail_body .= "$encoded_attach\n"; 
    				$mail_body .= "--Message-Boundary--\n";  
    			}
    		}
    	}
    Praticamente i file vengono salvati prima in una cartella (con un nome basato su di un id di riferimento) e poi all'invio vengono ripescati e dovrebbero partire insieme alla email, solo che ne arriva solo uno benchè facendo un echo $mail_body mi venga fuori questo:

    --Message-Boundary Content-type: text/html; charset=iso-8859-1 Content-transfer-encoding: 7BIT Content-description: Mail message body



    Oggetto: a

    a
    --Message-Boundary Content-type: file; name="128-1.txt" Content-Transfer-Encoding: BASE64 Content-disposition: attachment; filename="128-1.txt" cHJvdmE= --Message-Boundary--
    --Message-Boundary Content-type: file; name="128-2.txt" Content-Transfer-Encoding: BASE64 Content-disposition: attachment; filename="128-2.txt" cHJvdmEyDQo= --Message-Boundary--

    Qualcuno sa aiutarmi?
    Quando si è innamorati, si comincia sempre con l'ingannare se stessi e si finisce sempre con l'ingannare gli altri. Questo è ciò che il mondo chiama una "storia d'amore" (O. Wilde)

  2. #2
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Hai messo (almeno) un fine boundary di troppo.

    La sintassi corretta è (ad esempio):

    ------=_NextPart_000_000B_01C5E9DE.E522C5C0
    Content-Type: image/jpeg;
    name="1.jpg"
    Content-Transfer-Encoding: base64
    Content-Disposition: attachment;
    filename="1.jpg"

    /9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEP
    ERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4e
    Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh 4eHh4eHh7/wgARCAIDAjcDASIA

    ------=_NextPart_000_000B_01C5E9DE.E522C5C0
    Content-Type: image/jpeg;
    name="2.jpg"
    Content-Transfer-Encoding: base64
    Content-Disposition: attachment;
    filename="2.jpg"

    /9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEP
    ERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4e
    OqTqk6pOqTqk6pOqTqk6pOqTqk6pOqTqk6pOqRCsulY5FCjMaO cd6G2prBLrLJ/7U7Jlf//Z

    ------=_NextPart_000_000B_01C5E9DE.E522C5C0--

    [.:: JaguarXF ::.]
    __________________

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.