sfk / email-template-bundle
此包已被废弃,不再维护。未建议替换包。
此包帮助您在Symfony2应用中处理电子邮件。从Twig或数据库渲染电子邮件,非常简单!
v1.0.2
2016-03-18 16:00 UTC
Requires
- symfony/framework-bundle: ~2.1|~3.0
This package is not auto-updated.
Last update: 2023-04-01 05:11:33 UTC
README
当您需要从应用中发送不同类型的电子邮件时,此包非常有用,例如用户注册或忘记密码的电子邮件。请阅读使用说明。
安装
通过Composer添加包(Symfony 2.1)
php composer.phar require sfk/email-template-bundle:dev-master
将包添加到您的应用内核
// app/AppKernel.php public function registerBundles() { $bundles = array( // ... new Sfk\EmailTemplateBundle\SfkEmailTemplateBundle(), ); }
使用方法
- 在您的包中创建注册电子邮件模板
src/Acme/DemoBundle/Resources/views/[Emails]/user_registered.html.twig
- 编辑模板
// 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 %}
- 现在您可以从控制器中发送它
<?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); } } }
就这些!John Doe将收到以下电子邮件
Hello John, Thank you for registering at our website! below your account details: First Name: John Last Name: Doe Email: johndoe@example.com Thanks
高级使用方法
致谢
此包受在Symfony2中使用Twig渲染电子邮件一文的启发。感谢其作者。