使用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);
?>
注意:要找到合适的过滤器,您需要检查正文结构给出的编码。