How to make email template in Zend Framework

templateszend-frameworkzend-mail

I want to make email templates in Zend Framework.

For example,

<html>
<body>
Dear {$username$},<br>
This is a invitation email sent by your {$friend$}.<br>
Regards,<br>
Admin
</body>
</html>

I want to make this file, get it in Zend framework, set those parameters (username, friend) and then send the email.

How can I do that? Does Zend support this?

Best Answer

Hi this is realy common.

Create an view script like : /views/emails/template.phtml

<body>
<?php echo $this->name; ?>
<h1>Welcome</h1>
<?php echo $this->mysite; ?>
</body>

and when creating the email :

// create view object
$html = new Zend_View();
$html->setScriptPath(APPLICATION_PATH . '/modules/default/views/emails/');

// assign valeues
$html->assign('name', 'John Doe');
$html->assign('site', 'limespace.de');

// create mail object
$mail = new Zend_Mail('utf-8');

// render view
$bodyText = $html->render('template.phtml');

// configure base stuff
$mail->addTo('john@doe.com');
$mail->setSubject('Welcome to Limespace.de');
$mail->setFrom('support@limespace.de','Limespace');
$mail->setBodyHtml($bodyText);
$mail->send();
Related Topic