phps-cans/mail.swift.renderer-twig

此包包含一个SwiftMailRenderer接口的实现,它使用twig渲染邮件消息。

v5.0.0 2017-01-19 15:49 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:25:42 UTC


README

Build Status Coverage Status Scrutinizer Quality Score Code Coverage Open Source Love Open Source Love

Swift Twig 邮件生成器

此包使用Twig模板并从中生成Swift邮件。

安装

composer require thecodingmachine/swift-twig-mail-template

安装完成后,您可以开始创建一个SwiftTwigMailTemplate类的实例。

SwiftTwigMailTemplate代表一个可以生成Swift邮件的邮件模板。

示例

因为我们认为示例胜过其他一切...

首先创建您的邮件模板。您的模板应该有两个块

{% block subject %}
    Your suject
{% endblock %}

{% block body_html %}
    Body with HTML.
{% endblock %}

如果您愿意,可以添加另一个包含文本正文的块。此块是可选的,因为我们可以直接从HTML块中获取文本正文。

{% block body_text %}
    Body without HTML.
{% endblock %}

现在,让我们创建一个SwiftTwigMailTemplate实例。此对象将从twig模板生成一个SwiftMail

// We assume that $twigEnvironment is a valid TwigEnvironment instance
$twigSwiftMailTemplate =  new SwiftTwigMailTemplate($twigEnvironment, 'path/to/template.twig');

// The renderMail method generates a Swift mail object.
$swiftMail = $twigSwiftMailTemplate->renderMail(['paramKey' => paramValue]);

// We fill the swift mail with additional information
$swiftMail->setFrom('sender@example.com');
$swiftMail->setTo('recipient@example.com');

// We assume that $mailer is a valid Swift_Mailer instance
$mailer->send($swiftMail);

更进一步

SwiftTwigMailTemplate类是考虑到依赖注入而设计的。实例可以轻松放入您的容器中以便重复使用。此外,SwiftTwigMailTemplate类与Swift_Mail类有很多相似之处。您可以

  • 设置发件人地址
  • 设置发件人姓名
  • 设置收件人地址
  • 设置收件人姓名
  • 设置密送地址
  • 设置密送姓名
  • 设置抄送地址
  • 设置抄送姓名
  • 设置回复地址
  • 设置回复姓名
  • 设置最大行大小
  • 设置优先级
  • 设置阅读回执给
  • 设置退信地址