PHP Doku:: Speichert einen bestimmten Body-Abschnitt einer Nachricht als Datei - function.imap-savebody.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzE-Mail-relevante ErweiterungenIMAP, POP3 and NNTPIMAP Funktionenimap_savebody

Ein Service von Reinhard Neidl - Webprogrammierung.

IMAP Funktionen

<<imap_rfc822_write_address

imap_scanmailbox>>

imap_savebody

(PHP 5 >= 5.1.3)

imap_savebodySpeichert einen bestimmten Body-Abschnitt einer Nachricht als Datei

Beschreibung

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

Speichert einen Teil des Nachrichtenkörpers oder den gesamten Body der angegebenen Nachricht.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

file

Name der Zieldatei oder ein gültiger von fopen() zurückgegebener Dateideskriptor.

msg_number

Nachrichtennummer der gewünschten Nachricht

part_number

Nummer des gewünschten Nachrichtenteils gemäß der IMAP4 Spezifikation.

options

Eine Bitmaske aus einem oder mehrereren der folgenden Werte: A bitmask with one or more of the following:

  • FT_UID - Die msg_number ist eine UID
  • FT_PEEK - Das \Seen Flag wird nicht modifiziert
  • FT_INTERNAL - keine Zeilenendenmodifikation durchführen

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • imap_fetchbody() - Liefert einen bestimmten Abschnitt aus dem Körper einer Nachricht


3 BenutzerBeiträge:
- Beiträge aktualisieren...
janus at forty-seven dot info
20.02.2009 10: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.12.2007 9: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
1.08.2007 3:40
This function will save ALL information from the email if the part number is left out. Pretty handy for archiving.



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)