silverstripe-australia/mailcapture 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

silverstripe-australia/mailcapture

最新稳定版本:3.0.2

Composer 安装命令:

composer require silverstripe-australia/mailcapture

包简介

A module for development/staging systems that capture email within the repository instead of actually sending to a user. These emails can then be browsed within the CMS.

README 文档

README

Build Status

A module for capturing outbound emails in data objects that can then be viewed by users in the CMS directly.

Useful for sites that are in development (or on test/staging servers) where users need to be able to use functionality that sends emails, but it is not desirable to have these emails actually go out to the recipients.

This module defaults to not sending emails, but supports sending via an out bound mailer, this is configured via yml, e.g:

---
Name: mymailcapture
after: mailcapture
---
SilverStripe\Core\Injector\Injector:
  SilverStripe\Control\Email\Mailer:
    class: Symbiote\MailCapture\Control\Email\CaptureMailer
    properties:
     # Set to FALSE to enable pass through of emails without logging
      recordEmails: TRUE
     # Set to TRUE to send emails, uses the configured SwiftMailer
      sendMailOutbound: TRUE

Composer Install

SilverStripe 3.X

composer require symbiote/silverstripe-mailcapture:~2.0

SilverStripe 4.X

composer require symbiote/silverstripe-mailcapture:~3.0

Requirements

  • PHP 7.0+
  • SilverStripe 4.0+

Breaking Changes

When upgrading from SilverStripe 3.x to SilverStripe 4.x, the yml file has changed syntax and function. As an example this yml configure would record a copy of each email and use the default Mailer object to send emails over SMTP:

---
Name: mymailcapture
after: mailcapture
---
Injector:
  Mailer:
    class: CaptureMailer
    properties:
      outboundMailer: %$MailerObject
      # Set to false to enable pass through of emails without logging
      captureEmails: TRUE
  MailerObject:
    class: Mailer

The same functionality in the new syntax looks like this:

---
Name: mymailcapture
after: mailcapture
---
SilverStripe\Core\Injector\Injector:
  SilverStripe\Control\Email\Mailer:
    class: Symbiote\MailCapture\Control\Email\CaptureMailer
    properties:
     # Set to FALSE to enable pass through of emails without logging
      recordEmails: TRUE
     # Set to TRUE to send emails, uses the configured SwiftMailer
      sendMailOutbound: TRUE

captureEmails is now recordEmails this removes the ambiguous capture word making the intent of the setting clearer. outboundMailer is no longer used as the CaptureMailer classes instead uses the SwiftMailer transport that is configured for the site. To enable sending of emails externally we set sendMailOutbound.

统计信息

  • 总下载量: 5.15k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 7
  • 点击次数: 0
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 7
  • Watchers: 2
  • Forks: 10
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2015-06-10