Пример #1
0
 /**
  * @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();
 }