/** * @param MailMessage $paren * @return MailMessage */ function &CreateNewMixedMail($paren = null) { $newMail =& new MailMessage(); if ($paren) { $newMail->Headers =& $paren->Headers; } $newMail->_subParts = new MimePartCollection($newMail); $newMail->_sourceCharset = $GLOBALS[MailOutputCharset]; $newBoundary = '--=_NextPart_' . md5(rand(100000, 999999)); $newMail->Headers->SetHeaderByName(MIMEConst_ContentType, MIMETypeConst_MultipartMixed . ';' . CRLF . "\t" . MIMEConst_BoundaryLower . '="' . $newBoundary . '"'); $newMail->Headers->DeleteHeaderByName(MIMEConst_ContentTransferEncoding); if ($paren->IsAlternative) { $alter =& $this->CreateNewAlternativeMail(); $newMail->_subParts->Add($alter); } else { if ($this->HasPlainText() || $this->HasHtmlText()) { $newMail->_subParts->Add($this->CreateNewTextMail()); } } if ($paren->HasAttachments()) { $attachs =& $this->Attachments; foreach ($attachs->Instance() as $att) { $newMail->_subParts->Add($att->MimePart); } } return $newMail; }
/** * @return bool */ function HasAttachments() { if ($this->DbHasAttachments !== null) { return $this->DbHasAttachments; } return MailMessage::HasAttachments(); }