imap_savebody

(PHP 5 >= 5.1.3)

imap_savebodySave a specific body section to a file

Description

bool imap_savebody ( resource $imap_stream , mixed $file , int $msg_number [, string $part_number = "" [, int $options = 0 ]] )

Saves a part or the whole body of the specified message.

Parameters

imap_stream

An IMAP stream returned by imap_open().

file

The path to the saved file as a string, or a valid file descriptor returned by fopen().

msg_number

The message number

part_number

The part number. It is a string of integers delimited by period which index into a body part list as per the IMAP4 specification

options

A bitmask with one or more of the following:

  • FT_UID - The msg_number is a UID
  • FT_PEEK - Do not set the \Seen flag if not already set
  • FT_INTERNAL - The return string is in internal format, will not canonicalize to CRLF.

Return Values

Returns TRUE on success or FALSE on failure.

See Also

Коментарии

Автор:
By using imap_fetchbody() you may run in trouble by using too much memory. Using imap_savebody() may prevent this. 

But the content will be encoded, in other words it is useless. Adding a filter can help here.

<?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);
?>

NOTE: To find the proper filter you need to check the encoding given by the structure of the body.
2012-08-12 04:59:00
http://php5.kiev.ua/manual/ru/function.imap-savebody.html

    Поддержать сайт на родительском проекте КГБ