本文整理汇总了PHP中Swift_Mime_Message::setBody方法的典型用法代码示例。如果您正苦于以下问题:PHP Swift_Mime_Message::setBody方法的具体用法?PHP Swift_Mime_Message::setBody怎么用?PHP Swift_Mime_Message::setBody使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Swift_Mime_Message
的用法示例。
在下文中一共展示了Swift_Mime_Message::setBody方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setBody
/**
* Set the body of this entity, either as a string, or array of view
* variables if a view is set, or as an instance of
* {@link Swift_OutputByteStream}.
*
* @param mixed the body of the message. If a $this->view is set and this
* is a string, this is passed to the view as $body. If $this->view is set
* and this is an array, the array values are passed to the view like in the
* controller render() method
* @param string content type optional. For html, set to 'html/text'
* @param string charset optional
*/
public function setBody($body = '', $contentType = null, $charset = null)
{
if ($this->view !== null) {
if (!is_array($body)) {
$body = array('body' => $body);
}
// if Yii::app()->controller doesn't exist create a dummy
// controller to render the view (needed in the console app)
if (isset(Yii::app()->controller)) {
$controller = Yii::app()->controller;
} else {
$controller = new CController('YiiMail');
}
// renderPartial won't work with CConsoleApplication, so use
// renderInternal - this requires that we use an actual path to the
// view rather than the usual alias
$viewPath = Yii::getPathOfAlias($this->view) . '.php';
$body = $controller->renderInternal($viewPath, array_merge($body, array('mail' => $this)), true);
}
return $this->message->setBody($body, $contentType, $charset);
}
示例2: transform
/**
* {@inheritdoc)
*/
public function transform(\Swift_Mime_Message $message)
{
$body = $message->getBody();
$body = preg_replace_callback('/(src|background)="(http[^"]*)"/', function ($matches) use($message) {
$attribute = $matches[1];
$imagePath = $matches[2];
if ($fp = fopen($imagePath, "r")) {
$imagePath = $message->embed(\Swift_Image::fromPath($imagePath));
fclose($fp);
}
return sprintf('%s="%s"', $attribute, $imagePath);
}, $body);
$body = preg_replace_callback('/url\\((http[^"]*)\\)/', function ($matches) use($message) {
$imagePath = $matches[1];
if ($fp = fopen($imagePath, "r")) {
$imagePath = $message->embed(\Swift_Image::fromPath($imagePath));
fclose($fp);
}
return sprintf('url(%s)', $imagePath);
}, $body);
$message->setBody($body, 'text/html');
}
示例3: restoreMessage
/** Restore a changed message back to its original state */
private function restoreMessage(Swift_Mime_Message $message)
{
if ($this->lastMessage === $message) {
if (isset($this->originalBody)) {
$message->setBody($this->originalBody);
$this->originalBody = null;
}
if (!empty($this->originalHeaders)) {
foreach ($message->getHeaders()->getAll() as $header) {
if (array_key_exists($header->getFieldName(), $this->originalHeaders)) {
$header->setFieldBodyModel($this->originalHeaders[$header->getFieldName()]);
}
}
$this->originalHeaders = array();
}
if (!empty($this->originalChildBodies)) {
$children = (array) $message->getChildren();
foreach ($children as $child) {
$id = $child->getId();
if (array_key_exists($id, $this->originalChildBodies)) {
$child->setBody($this->originalChildBodies[$id]);
}
}
$this->originalChildBodies = array();
}
$this->lastMessage = null;
}
}
示例4: _restoreMessage
/** Restore a changed message back to its original state */
private function _restoreMessage(Swift_Mime_Message $message)
{
if ($this->_lastMessage === $message)
{
if (isset($this->_originalBody))
{
$message->setBody($this->_originalBody);
$this->_originalBody = null;
}
if (isset($this->_originalSubject))
{
$message->setSubject($this->_originalSubject);
$this->_originalSubject = null;
}
if (!empty($this->_originalChildBodies))
{
$children = (array) $message->getChildren();
foreach ($children as $child)
{
$id = $child->getId();
if (array_key_exists($id, $this->_originalChildBodies))
{
$child->setBody($this->_originalChildBodies[$id]);
}
}
$this->_originalChildBodies = array();
}
$this->_lastMessage = null;
}
}
示例5: pictureEmbed
/**
* Embed pictures
*
* @param \Swift_Mime_Message $message E-mail message
*
* @access public
* @return void
* @author Etienne de Longeaux <etienne.delongeaux@gmail.com>
*/
public function pictureEmbed(\Swift_Mime_Message &$message)
{
$body = $message->getBody();
$body = preg_replace_callback('/(src|background)="(http[^"]*)"/', function ($matches) use($message) {
$attribute = $matches[1];
$imagePath = $matches[2];
if ($fp = fopen($imagePath, "r")) {
// You can embed files from a URL if allow_url_fopen is on in php.ini
$imagePath = $message->embed(\Swift_Image::fromPath($imagePath));
fclose($fp);
}
return sprintf('%s="%s"', $attribute, $imagePath);
}, $body);
$body = preg_replace_callback('/url\\((http[^"]*)\\)/', function ($matches) use($message) {
$imagePath = $matches[1];
if ($fp = fopen($imagePath, "r")) {
// You can embed files from a URL if allow_url_fopen is on in php.ini
$imagePath = $message->embed(\Swift_Image::fromPath($imagePath));
fclose($fp);
}
return sprintf('url(%s)', $imagePath);
}, $body);
$message->setBody($body, 'text/html');
}