使用 imap_fetchbody() 可能會因為使用過多記憶體而遇到問題。使用 imap_savebody() 可以避免這個問題。
但內容會被編碼,換句話說,它是無用的。新增過濾器可以有所幫助。
<?php
$whandle = fopen('./incomming/tmp.tif','w');
stream_filter_append($whandle,
'convert.base64-decode',STREAM_FILTER_WRITE);
imap_savebody ($mbox, $whandle, $i, $partcounter++);
fclose($whandle);
?>
注意:要找到合適的過濾器,您需要檢查主體結構給出的編碼。