silverstripe / newsletter
新闻邮件模块允许后台CMS用户向不同的邮件列表发送新闻邮件
Requires
README
SilverStripe 新闻邮件模块
安装
此模块需要 silverstripe/cms
和 symbiote/silverstripe-queuedjobs
,并且与 SilverStripe 4 兼容。
composer require silverstripe/newsletter "2.x-dev"
简介
概述
该模块通过 CMS 管理新闻邮件的创建和发送,与编辑页面非常相似。
功能
- 所见即所得的新闻邮件创建(包括图片和预览)
- HTML 邮件(自动转换为文本)
- 订阅页面(采用您自己的主题样式)
- 通过电子邮件进行订阅确认
- 通过 URL 和网络确认取消订阅
- 队列发送邮件(需要 "messagequeue" 模块)
- 批量发送和节流
- 为电子邮件定制的 SilverStripe 模板
- 链接跟踪
- 收件人黑名单
- 弹跳跟踪(实验性)
- 可装饰的
Recipient
类以添加更多属性
配置
电子邮件模板
新闻邮件模板是标准的 SilverStripe 模板,包含一些额外的占位符。
UnsubscribeLink
:取消订阅新闻邮件的个人化链接AbsoluteBaseURL
:网站的绝对 URLTo
:收件人电子邮件地址From
:发件人电子邮件地址Subject
:新闻邮件主题Recipient.Title
:收件人全名,包括称呼、名、中间名、姓(全部为可选)Recipient.Salutation
Recipient.FirstName
Recipient.Surname
Recipient.Email
Now
:当前日期和时间(格式示例:使用 $Now.Nice)
模板在 mysite/templates/Email
中创建。例如,如果您在 mysite/templates/email
中创建了 Newsletter.ss
,则插件将识别此新文件并允许您在下拉菜单中选择它。您可以在 templates/Emails/SimpleNewsletterTemplate.ss
中找到一个具有最小样式的默认模板。
可以使用 配置 API 配置模板路径
*mysite/_config/newsletter.yml*
:::yaml
SilverStripe\Newsletter\Control\NewsletterAdmin
template_paths:
- "themes/mytemplate/templates/email";
用法
邮件列表和收件人
邮件列表(类 MailingList
)可以包含许多收件人(类 Recipient
)。两者都可以通过“新闻邮件”管理界面创建。每个新闻邮件可以发送到一个或多个邮件列表。一旦开始新闻邮件发送过程,当前邮件列表的收件人将被复制到 SendRecipientQueue
,固定此新闻邮件的邮件列表状态。
队列
生成电子邮件是处理密集型的,至少在可能数千个收件人的规模上。在发生致命错误的情况下,我们需要一种安全的方式跟踪已发送的消息。此外,在短时间内发送大量电子邮件可能会使您被列入黑名单。这就是为什么新闻邮件使用队列发送电子邮件的原因。
每个新闻邮件的单独电子邮件都作为 SendRecipientQueue
记录排队。此队列由配置批次的队列作业 NewsletterMailerJob
处理。有关排队过程的更多信息,请参阅 symbiote/silverstripe-queuedjobs
模块。
处理弹跳
该模块允许跟踪每个收件人的电子邮件“弹跳”,对于某些原因无法投递的电子邮件。
保持你的邮件列表中没有永久拒绝投递的收件人,这有助于降低其他方将你的外发邮件归类为垃圾邮件的可能性。
Recipient
模型具有 BouncedCount
和 Blacklisted
属性来跟踪这些信息。默认情况下,这需要通过通过新闻简报管理界面配置的“回复至”地址的收件人手动处理。应该定期扫描这个邮箱中的退回邮件,并在管理界面中为该收件人勾选“已列入黑名单”复选框来将原始收件人列入黑名单。
注意:此过程可以通过将退回邮件转发到 "emailbouncehandler" 模块 来自动化。目前,此过程是实验性的,需要一些组装。
贡献
翻译
自然语言字符串的翻译通过第三方翻译界面 transifex.com 管理。新添加的字符串将定期上传到那里进行翻译,任何新的翻译都将合并回项目源代码。
请使用 https://www.transifex.com/projects/p/silverstripe-newsletter/ 来贡献翻译,而不是发送包含 YAML 文件的拉取请求。
有关详细信息,请参阅 doc.silverstripe.org 上的 "i18n" 主题。