该包已被废弃且不再维护。作者建议使用symbiote/silverstripe-mailcapture包。

一个用于开发/预发布系统的模块,该模块捕获存储库中的电子邮件而不是实际发送给用户。这些电子邮件可以在CMS中浏览。

安装: 5,151

依赖项: 1

建议者: 0

安全性: 0

星级: 7

关注者: 2

分支: 10

开放问题: 5

类型:silverstripe-module

3.0.2 2019-09-12 01:28 UTC

This package is auto-updated.

Last update: 2019-09-12 01:35:33 UTC


README

Build Status

一个用于捕获数据对象中发送出的电子邮件的模块,用户可以直接在CMS中查看这些电子邮件。

适用于正在开发(或测试/预发布服务器上)的网站,用户需要使用能够发送电子邮件的功能,但又不想将这些电子邮件实际发送给收件人。

该模块默认不发送电子邮件,但支持通过外发邮件发送器发送,这可以通过yml配置,例如

---
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安装

SilverStripe 3.X

composer require symbiote/silverstripe-mailcapture:~2.0

SilverStripe 4.X

composer require symbiote/silverstripe-mailcapture:~3.0

要求

  • PHP 7.0+
  • SilverStripe 4.0+

重大更改

当从SilverStripe 3.x升级到SilverStripe 4.x时,yml文件已更改语法和功能。例如,此yml配置会记录每封电子邮件的副本并使用默认的Mailer对象通过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

新语法中的相同功能如下所示

---
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现在为recordEmails,这消除了捕获一词的歧义,使设置的意图更加清晰。《code>outboundMailer不再使用,因为CaptureMailer类现在使用为网站配置的SwiftMailer传输。要启用外部发送电子邮件,我们设置sendMailOutbound