adesigns/email-template-bundle
Composer 安装命令:
composer require adesigns/email-template-bundle
包简介
This bundle helps you to deal with emails in your Symfony2 app. Render emails from Twig or Database, it's easy!.
README 文档
README
This bundle can be useful when you need to send diffrent kind of emails from your app, for eg. user registration or forgot password email. Read usage section.
Installation
Add bundle via composer (Symfony 2.1)
php composer.phar require sfk/email-template-bundle:dev-master
Add bundle to your application kernel
// app/AppKernel.php public function registerBundles() { $bundles = array( // ... new Sfk\EmailTemplateBundle\SfkEmailTemplateBundle(), ); }
Usage
- Create registration email template in your bundle
src/Acme/DemoBundle/Resources/views/[Emails]/user_registered.html.twig
- Edit template
// src/Acme/DemoBundle/Resources/views/[Emails]/user_registered.html.twig
{% extends 'SfkEmailTemplateBundle::email.html.twig' %}
{% block from -%}
example@example.org
{%- endblock %}
{% block subject -%}
Thanks for registering {{ first_name }}!
{%- endblock %}
{% block body -%}
Hello {{ first_name }},
<br />
<br />
Thank you for registering at our website! below your account details:
<br />
<br />
First Name: {{ first_name }}<br />
Last Name: {{ last_name }}<br />
Email: {{ email }}<br />
<br />
Thanks
{%- endblock %}
- Now you can send it from your controller
<?php // ... class UserController extends Controller { public function registerAction() { // ... if ($form->isValid()) { //.. some actions here $formData = array( 'email' => 'johndoe@example.com', 'first_name' => 'John', 'last_name' => 'Doe', ); $template = $this->get('sfk_email_template.loader') ->load('AcmeDemoBundle:Emails:user_registered.html.twig', $formData) ; $message = \Swift_Message::newInstance() ->setSubject($template->getSubject()) ->setFrom($template->getFrom()) ->setBody($template->getBody(), 'text/html') ->setTo($formData['email']) ; // send email $this->get('mailer')->send($message); } } }
Thats's it! John Doe will receive an email as below:
Hello John, Thank you for registering at our website! below your account details: First Name: John Last Name: Doe Email: johndoe@example.com Thanks
Advanced Usage
Credits
This bundle was inspired by Rendering emails with Twig in Symfony2 post. Many thanks to its author.
统计信息
- 总下载量: 2.21k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2014-08-29