downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

imap_scan> <imap_rfc822_write_address
[edit] Last updated: Fri, 25 May 2012

view this page in

imap_savebody

(PHP 5 >= 5.1.3)

imap_savebody指定した本文部をファイルに保存する

説明

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

指定したメッセージの本文全体、あるいはその一部を保存します。

パラメータ

imap_stream

imap_open() が返す IMAP ストリーム。

file

保存先ファイルへのパスを表す文字列、あるいは fopen() が返すファイル記述子。

msg_number

メッセージ番号。

part_number

パート番号。ピリオドで区切られた整数文字列を指定します。 これは、IMAP4 仕様における本文パートのリストへのインデックスとなります。

options

ビットマスクであり、以下の組合わせとなります。

  • FT_UID - msg_numberは UID である
  • FT_PEEK - 既に設定されていない場合、 \Seen フラグを設定しない
  • FT_INTERNAL - 内部フォーマットで文字列を返す。CRLF に正規化しない。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

参考

  • imap_fetchbody() - メッセージ本文中の特定のセクションを取り出す



imap_scan> <imap_rfc822_write_address
[edit] Last updated: Fri, 25 May 2012
 
add a note add a note User Contributed Notes imap_savebody
janus at forty-seven dot info 20-Feb-2009 01:40
It seems that imap_savebody saves attachments with special characters above ascii 127 as quoted printable.
But if you need it in utf8, you may use the imap_qprint function after the attachment is saved:

<?php
$tFile
= "/path/to/attachment";
$tFileOutput="";
$tFileHandle = fopen($tFile, "r");

//get the content of the file into a string
while(!feof($tFileHandle))
 
$tFileOutput = $tFileOutput . fgets($tFileHandle, 4096);

fclose ($tFileHandle);
           
$tFileHandle = fopen($tFile, "w");
//write the new 8Bit string to the file
fwrite($tFileHandle, imap_qprint($tFileOutput));
fclose ($tFileHandle);
?>
technocraze at gmail dot com 20-Dec-2007 12:38
I tried to use this function. But it seems it requires php_zip.dll to be load..  i got the php errror like below.

[20-Dec-2007 13:38:17] PHP Warning:  PHP Startup: Unable to load dynamic library './php_zip.dll' - ./php_zip.dll: cannot open shared object file: No such file or directory in Unknown on line 0
[20-Dec-2007 13:38:17] PHP Fatal error:  Call to undefined function imap_savebody() in /opt/oss/share/apache2/htdocs/blogtest/wp-inst/batch/pop3_mail.php on line 153
stupergenius at gmail dot com 31-Jul-2007 06:40
This function will save ALL information from the email if the part number is left out. Pretty handy for archiving.

 
show source | credits | stats | sitemap | contact | advertising | mirror sites