定制 firesphere/mailjet-mailer 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

firesphere/mailjet-mailer

最新稳定版本:0.0.3

Composer 安装命令:

composer require firesphere/mailjet-mailer

包简介

Mailjet Mailer for Silverstripe

README 文档

README

GPL v3 or later

Simple mailer module that uses Mailjet API to send emails.

Requirements

  • silverstripe/cms ^4.3.x
  • silverstripe/framework ^4.3.x
  • mailjet/mailjet-apiv3-php "^1.5.8

Installation

composer require firesphere/mailjet-mailer

Configuration

Add the following to your .env:

SS_MAILJET_KEY="YOURMAILJETKEY"
SS_MAILJET_SECRET="YOURMAILJETSECRET"

Usage

Simply use the Email class provided by SilverStripe framework:

$email = new SilverStripe\Control\Email\Email();
$email->setFrom('from@example.com', 'John Doe');
$email->setTo('to@example.com', 'Jane Doe');
$email->setSubject('This is a test email');
$email->setBody('Hello there, this was sent using Mailjet');
$email->addAttachment('path/to/file.pdf', 'document.pdf');
$email->send();

That should be all there is to it.

DEV usage

If, in dev mode, you still want to use the Mailjet Mailer, but not want to send actual emails, set the send flag to false

Via PHP:

new \Firesphere\Mailjet\Service\MailjetMailer(false);

or

$mailer = (new \Firesphere\Mailjet\Service\MailjetMailer())->setSend(false);

Via YML:

SilverStripe\Core\Injector\Injector:
  Firesphere\Mailjet\Service\MailjetMailer:
    constructor:
      - false

Use SandboxMode

Another option to avoid emails actively being sent, is using SandboxMode.

This will go through the entire process of Mailjet, except that Mailjet will not actively send the emails, but respond as if it did.

Ways to set Sandbox mode:

$mailer = (new \Firesphere\Mailjet\Service\MailjetMailer())->setSandbox(true);
SilverStripe\Core\Injector\Injector:
  Firesphere\Mailjet\Service\MailjetMailer:
    constructor:
      - true
      - true   

Advanced usage

Mailjet allows to send multiple emails in a single request. To do this, use the MailjetMailer directly and give it an array of Email objects.

E.g.

$mails = [
    $mail1 = Email::create('to@example.com', 'from@example.com', 'Subject', 'Body'); // 
    $mail2 = Email::create('to@example.com', 'from@example.com', 'Subject', 'Body'); // 
];

(new \Firesphere\Mailjet\Service\MailjetMailer())->send($mails);

统计信息

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

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: LGPL-3.0-or-later
  • 更新时间: 2023-01-29

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固