ugrás a tartalomhoz

MMS-t nem tölti le rendesen

morc26 · 2006. Ápr. 6. (Cs), 14.56
Sziasztok. Nekem egy olyan problémám lenne van egy pop3 leszedőm ami kiszedi az emailből az attachmen részt és lementi a szerverre 1 mappába. Ez mind oké,és működik is, de amit mobilról küldenek mms-ben azt istenért nem akarja leszedni. Tudja,hogy ott van,és lehúzza mert eltünik a postafiókból viszont a mappában nincs, logolásnál is csk egy üres részt hagy a fájlnak,hogy valami van ott! Tud valaki segíeni? Csak a mobilról küdött levelekel csinálja ezt. Ő így néz ki.

<?php
class readattachment
{
	
		function getdecodevalue($message,$coding)
		{
		if ($coding == 0) 
		{ 
		   $message = imap_8bit($message); 
		} 
		elseif ($coding == 1) 
		{ 
		  $message = imap_8bit($message); 
		} 
		elseif ($coding == 2) 
		{ 
		   $message = imap_binary($message); 
		} 
		elseif ($coding == 3) 
		{ 
	   $message=imap_base64($message); 
	   } 
		elseif ($coding == 4) 
		{ 
		   $message = imap_qprint($message); 
		} 
		elseif ($coding == 5) 
		{ 
		 $message = imap_base64($message); 
		} 
		return $message;
		}

			function getdata($host,$login,$password,$savedirpath)
			{
			$mbox = imap_open ($host,  $login, $password) or die("can't connect: " . imap_last_error());
			$message = array();
			$message["attachment"]["type"][0] = "text";
			$message["attachment"]["type"][1] = "multipart";
			$message["attachment"]["type"][2] = "message";
			$message["attachment"]["type"][3] = "application";
			$message["attachment"]["type"][4] = "audio";
			$message["attachment"]["type"][5] = "image";
			$message["attachment"]["type"][6] = "video";
			$message["attachment"]["type"][7] = "other";
			
			for ($jk = 1; $jk <= imap_num_msg($mbox); $jk++)
			{
			$structure = imap_fetchstructure($mbox, $jk , FT_UID);    
			$parts = $structure->parts;
			$fpos=2;
					for($i = 1; $i < count($parts); $i++)
					   {
						$message["pid"][$i] = ($i);
						$part = $parts[$i];

						if($part->disposition == "ATTACHMENT") 
							{
							
							$message["type"][$i] = $message["attachment"]["type"][$part->type] . "/" . strtolower($part->subtype);
							$message["subtype"][$i] = strtolower($part->subtype);
							$ext=$part->subtype;
							$params = $part->dparameters;
							$filename=$part->dparameters[0]->value;
?>
 
1

Dump?

janoszen · 2006. Ápr. 6. (Cs), 17.48
Próbáld meg kidumpolni egy MMS raw adatait és összehasonlítani egy e-mail raw adataival ill. tedd föl valahová, hogy megnézhessük. Talán rájövünk.
2

attach

morc26 · 2006. Ápr. 6. (Cs), 18.53
Így jön le a kettő.

MMS mail:

Content-Type: image/jpeg; name=DSCF1422.JPG
Content-Transfer-Encoding: base64
X-Attachment-Id: 0.1
Content-Disposition: attachment;
filename="DSCF1422.JPG"

Normál ami jó:

Content-Type: image/jpeg;
name="P1030649.JPG"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="P1030649.JPG"


csak ez a X-Attachment-Id: 0.1 a különbség a két mail között.
3

Nem egészen...

janoszen · 2006. Ápr. 6. (Cs), 20.36
Nem egészen, mert a name pontosvessző után van. Lehet, hogy ez a hiba? Elképzelhető, hogy nem annyira okos az értelmező és nem tudja a pontosvesszős szintaktikát és ezért nem ismeri a mime type-ot.

Mert az X-Attachment-Id extension header, elvileg figyelmen kívül kellene hagyni.

Ezeket ellenőrizd le sztem és ha nem mész semmire, akkor nem marad más, mint a hosszú és kínkeserves debug, amiben szívesen segítek egyébként.
4

attach

morc26 · 2006. Ápr. 8. (Szo), 04.16
Semmi változás nem történt a " elhagyásával. debug dolgot én nagyon nem vágom