25 #require_once 'Zend/Mime.php'; 30 #require_once 'Zend/Mime/Part.php'; 71 $this->_parts = $parts;
84 $this->_parts[] = $part;
95 return (count($this->_parts) > 1);
108 $this->_mime = $mime;
121 if ($this->_mime ===
null) {
146 $body = array_shift($this->_parts);
147 $body = $body->getContent($EOL);
151 $boundaryLine = $mime->boundaryLine($EOL);
152 $body =
'This is a message in Mime Format. If you see this, ' 153 .
"your mail reader does not support this format." . $EOL;
155 foreach (array_keys($this->_parts) as $p) {
156 $body .= $boundaryLine
162 $body .= $mime->mimeEnd($EOL);
176 return $this->_parts[$partnum]->getHeadersArray();
188 return $this->_parts[$partnum]->getHeaders($EOL);
200 return $this->_parts[$partnum]->getContent($EOL);
220 $p = strpos($body,
'--' . $boundary .
"\n",
$start);
227 $start = $p + 3 + strlen($boundary);
229 while (($p = strpos($body,
'--' . $boundary .
"\n",
$start))
232 $start = $p + 3 + strlen($boundary);
236 $p = strpos($body,
'--' . $boundary .
'--',
$start);
238 throw new Zend_Exception(
'Not a valid Mime Message: End Missing');
261 #require_once 'Zend/Mime/Decode.php'; 265 foreach ($parts as $part) {
268 foreach ($part[
'header'] as $key =>
$value) {
272 switch (strtolower($key)) {
276 case 'content-transfer-encoding':
277 $newPart->encoding =
$value;
280 $newPart->id = trim(
$value,
'<>');
282 case 'content-disposition':
283 $newPart->disposition =
$value;
285 case 'content-description':
286 $newPart->description =
$value;
288 case 'content-location':
289 $newPart->location =
$value;
291 case 'content-language':
292 $newPart->language =
$value;
296 'Unknown header ignored for MimePart:' . $key
300 $res->addPart($newPart);
addPart(Zend_Mime_Part $part)
getPartHeadersArray($partnum)
getPartHeaders($partnum, $EOL=Zend_Mime::LINEEND)
static splitMessageStruct( $message, $boundary, $EOL=Zend_Mime::LINEEND)
getPartContent($partnum, $EOL=Zend_Mime::LINEEND)
static _disassembleMime($body, $boundary)
generateMessage($EOL=Zend_Mime::LINEEND)
static createFromMessage( $message, $boundary, $EOL=Zend_Mime::LINEEND)