本文整理汇总了PHP中Zend_Mail::getHtmlRelatedAttachments方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Mail::getHtmlRelatedAttachments方法的具体用法?PHP Zend_Mail::getHtmlRelatedAttachments怎么用?PHP Zend_Mail::getHtmlRelatedAttachments使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Mail
的用法示例。
在下文中一共展示了Zend_Mail::getHtmlRelatedAttachments方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _buildBody
/**
* Generate MIME compliant message from the current configuration
*
* If both a text and HTML body are present, generates a
* multipart/alternative Zend_Mime_Part containing the headers and contents
* of each. Otherwise, uses whichever of the text or HTML parts present.
*
* The content part is then prepended to the list of Zend_Mime_Parts for
* this message.
*
* @return void
*/
protected function _buildBody()
{
// if (($text = $this->_mail->getBodyText())
// && ($html = $this->_mail->getBodyHtml()))
//
$text = $this->_mail->getBodyText();
$html = $this->_mail->getBodyHtml();
$htmlAttachments = $this->_mail->getHtmlRelatedAttachments();
$htmlAttachmentParts = $htmlAttachments->getParts();
$hasHtmlRelatedParts = count($htmlAttachmentParts);
if ($text && $html || $html && $hasHtmlRelatedParts && count($this->_parts)) {
// Generate unique boundary for multipart/alternative
$mime = new Zend_Mime(null);
$boundaryLine = $mime->boundaryLine($this->EOL);
$boundaryEnd = $mime->mimeEnd($this->EOL);
// $text->disposition = false;
$html->disposition = false;
// $body = $boundaryLine
// . $text->getHeaders($this->EOL)
// . $this->EOL
// . $text->getContent($this->EOL)
// . $this->EOL
// . $boundaryLine
// . $html->getHeaders($this->EOL)
if ($hasHtmlRelatedParts) {
$message = new Zend_Mime_Message();
array_unshift($htmlAttachmentParts, $html);
$message->setParts($htmlAttachmentParts);
$htmlMime = $htmlAttachments->getMime();
$message->setMime($htmlMime);
$html = new Zend_Mime_Part($message->generateMessage($this->EOL, false));
$html->boundary = $htmlMime->boundary();
$html->type = Zend_Mime::MULTIPART_RELATED;
$html->encoding = null;
}
$body = $boundaryLine;
if ($text) {
$text->disposition = false;
$body .= $text->getHeaders($this->EOL) . $this->EOL . $text->getContent($this->EOL) . $this->EOL . $boundaryLine;
}
$body .= $html->getHeaders($this->EOL) . $this->EOL . $html->getContent($this->EOL) . $this->EOL . $boundaryEnd;
$mp = new Zend_Mime_Part($body);
$mp->type = Zend_Mime::MULTIPART_ALTERNATIVE;
$mp->boundary = $mime->boundary();
$this->_isMultipart = true;
// Ensure first part contains text alternatives
array_unshift($this->_parts, $mp);
// Get headers
$this->_headers = $this->_mail->getHeaders();
return;
}
// If not multipart, then get the body
if (false !== ($body = $this->_mail->getBodyHtml())) {
array_unshift($this->_parts, $body);
if ($hasHtmlRelatedParts) {
$this->_mail->setType(Zend_Mime::MULTIPART_RELATED);
foreach ($htmlAttachmentParts as $part) {
$this->_parts[] = $part;
}
}
} elseif (false !== ($body = $this->_mail->getBodyText())) {
array_unshift($this->_parts, $body);
}
if (!$body) {
/**
* @see Zend_Mail_Transport_Exception
*/
require_once 'Zend/Mail/Transport/Exception.php';
throw new Zend_Mail_Transport_Exception('No body specified');
}
// Get headers
$this->_headers = $this->_mail->getHeaders();
$headers = $body->getHeadersArray($this->EOL);
foreach ($headers as $header) {
// Headers in Zend_Mime_Part are kept as arrays with two elements, a
// key and a value
$this->_headers[$header[0]] = array($header[1]);
}
}