silverstripe/newsletter
最新稳定版本:1.0.0
Composer 安装命令:
composer require silverstripe/newsletter
包简介
Newsletter module allows a backend CMS users send newsletters to different mailing lists
README 文档
README
SilverStripe Newsletter Module
Installation
This module requires silverstripe/cms and symbiote/silverstripe-queuedjobs
and is compatible with SilverStripe 4.
composer require silverstripe/newsletter "2.x-dev"
Introduction
Overview
The module manages the creation and sending of newsletters through the CMS, in a very similar fashion to editing pages.
Features:
- WYSIWYG newsletter creation (incl. images and preview)
- HTML emails (with auto-conversion to text)
- Subscription page (in your own theme style)
- Subscription confirmation by email
- Unsubscribe by URL and web confirmation
- Queued email sending (requires "messagequeue" module)
- Batch sending and throttling
- Custom SilverStripe templates for emails
- Link tracking
- Recipient blacklisting
- Bounce tracking (experimental)
- Decoratable
Recipientclass to add more properties
Configuration
Email Templates
Newsletter templates are standard SilverStripe templates, with a few extra placeholders.
UnsubscribeLink: Personalized link to unsubscribe from newsletterAbsoluteBaseURL: Absolute URL to the websiteTo: Recipient email addressFrom: Sender email addressSubject: Newsletter subjectRecipient.Title: Recipient full name, including salutation, first/middle/last name (all optional)Recipient.SalutationRecipient.FirstNameRecipient.SurnameRecipient.EmailNow: Current date and time (format e.g. with $Now.Nice)
Templates are created in mysite/templates/Email. So for example, if you
created Newsletter.ss inside mysite/templates/email then the plugin will
recognise this new file and let you select it in the dropdown. You'll find a
default template with minimal styling in
templates/Emails/SimpleNewsletterTemplate.ss.
Template paths are configurable using the Config API
*mysite/_config/newsletter.yml*
:::yaml
SilverStripe\Newsletter\Control\NewsletterAdmin
template_paths:
- "themes/mytemplate/templates/email";
Usage
Mailing Lists and Recipients
A mailing list (class MailingList) can contain many recipients
(class Recipient). Both can be created through the "Newsletter" Admin UI.
Each newsletter can be sent to one or more mailing lists. The current recipients
of a mailing list are copied to a SendRecipientQueue once a newsletter
sending process starts, fixing the mailing list state for this newsletter.
Queuing
Generating emails is processing intensive, at least on the scale of potentially several thousand recipients. We need a safe way to track already sent message in case of a fatal error halfway through. Also, sending large volumes of email in a short period of time can get you blacklisted. Which is why the newsletter uses a queue to send emails.
Each individual email for a newsletter is queued up as a SendRecipientQueue
record. This queue is worked off by queued job NewsletterMailerJob in
configurable batches. For more information about the queuing process see the
symbiote/silverstripe-queuedjobs module.
Bounce Handling
The modules allows tracking of email "bounces" per recipient, for email which could not be delivered for some reason.
It's important to keep your mailing list clean of recipients which permanently deny delivery, in terms of decreasing the likelihood that your outgoing mail is classified as spam by other parties.
The Recipient model has BouncedCount and Blacklisted properties to track
this. By default, this has to be handled manually by the recipient of your
"reply-to" address as configured through the newsletter admin UI. This mailbox
should be regularly scanned for bouned emails, and their original recipients
blacklisted by ticking the "Blacklisted" checkbox in the admin UI for that
recipient.
Note: This process can be automated by forwarding bounce emails to the "emailbouncehandler" module. This process is experimental at the moment, some assembly required.
Contributing
Translations
Translations of the natural language strings are managed through a third party translation interface, transifex.com. Newly added strings will be periodically uploaded there for translation, and any new translations will be merged back to the project source code.
Please use https://www.transifex.com/projects/p/silverstripe-newsletter/ to contribute translations, rather than sending pull requests with YAML files.
See the "i18n" topic on doc.silverstripe.org for more details.
silverstripe/newsletter 适用场景与选型建议
silverstripe/newsletter 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 11.13k 次下载、GitHub Stars 达 69, 最近一次更新时间为 2012 年 11 月 27 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「mail」 「newsletter」 「email」 「silverstripe」 「newsletters」 「edm」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 silverstripe/newsletter 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 silverstripe/newsletter 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 silverstripe/newsletter 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Courier offers a convenient and painless solution for creating emails tailored for your Kirby website.
Manage newsletters in Laravel
Mail libraries used by Zimbra Api
Extensible library for building notifications and sending them via different delivery channels.
Email+ extends Kirby's email capabilities by adding support for multiple email services using the same Kirby email API.
Sendrill DB
统计信息
- 总下载量: 11.13k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 71
- 点击次数: 27
- 依赖项目数: 6
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2012-11-27