Php Imap E-Mail Dosya Eklerini İndirme

Aşağıdaki kod ile gelen kutunuzda bulunan tüm e-maillerdeki dosya eklerini toplu olarak indirebilirsiniz. Dilerseniz for döngüsü yerine $x’e sabit bir değer vererek tek bir dosya ekini de indirebilirsiniz.

<?php
header('Content-Type: text/html; charset=utf-8');
$stream = imap_open('{mail.site.com:143/novalidate-cert}INBOX','admin@site.com', '123456');
$numMessages = imap_num_msg($stream);
for($x=$numMessages;$x>0;$x--){
	$structure=imap_fetchstructure($stream,$x);
	if(isset($structure->parts)) {
		foreach ($structure->parts as $index => $part){
			if (!$part->ifdisposition) continue;
			$body=imap_fetchbody($stream,$x, $index + 1);
			if($part->encoding==3) $body=base64_decode($body);
			if($part->encoding==4) $body=imap_qprint($body);
			$savePath = 'attachments/'.imap_utf8($part->dparameters[0]->value);
			file_put_contents($savePath, $body);
		}
	}
}