massimo-filippi / mail-module
ZF3 电子邮件通信模块
1.3
2023-05-03 13:17 UTC
Requires
- php: ^5.6 || ^7.0
- guzzlehttp/guzzle: ^6.3
- mailjet/mailjet-apiv3-php: ^1.2
- php-http/guzzle6-adapter: ^1.1
- sparkpost/sparkpost: ^2.1
- zendframework/zend-mail: ^2.8
This package is not auto-updated.
Last update: 2024-09-18 21:42:15 UTC
README
ZF3 电子邮件通信模块
介绍
稍后将提供更多信息...
安装
1. 通过 Composer 安装
通过 Composer 安装最新稳定版本
composer require massimo-filippi/mail-module
通过 Composer 安装最新开发版本
composer require massimo-filippi/mail-module:dev-develop
2. 在您的应用程序中启用模块
Composer 应该在安装过程中自动在您的项目中启用 MassimoFilippi\MailModule
。
如果它没有这样做,您可以通过将值 'MassimoFilippi\MailModule'
添加到文件 config/modules.config.php
中的数组中手动启用模块。最后,它应该看起来像下面的 PHP 数组。
如果您不想将此包用作 Zend Framework 模块,则无需使用。
<?php /** * List of enabled modules for this application. * * This should be an array of module namespaces used in the application. */ return [ 'Zend\Mail', 'Zend\Router', 'Zend\Validator', 'MassimoFilippi\MailModule', // Add this line, ideally before Application module. 'Application', ];
3. 设置您的配置
在此阶段,您可以使用 2 个服务: SparkPost 和 Mailjet。下面是我的 config/autoload/local.php
文件的示例。
使用 MailjetAdapter
<?php return [ // Config array for modules in MassimoFilippi namespace (our modules). 'massimo_filippi' => [ // Config array for MailModule. 'mail_module' => [ // Adapter you want to use. 'adapter' => \MassimoFilippi\MailModule\Adapter\Mailjet\MailjetAdapter::class, // Adapter's parameters needed to create adapter's instance (e.g., api key or password). 'adapter_params' => [ 'api_key' => '---API-KEY---', 'api_secret' => '---API-SECRET---', 'sandbox_mode' => false, // will not send email if true, but API will response ], ], ], ];
使用 SparkPostAdapter
<?php return [ // Config array for modules in MassimoFilippi namespace (our modules). 'massimo_filippi' => [ // Config array for MailModule. 'mail_module' => [ // Adapter you want to use. 'adapter' => \MassimoFilippi\MailModule\Adapter\SparkPost\SparkPostAdapter::class, // Adapter's parameters needed to create adapter's instance (e.g., api key or password). 'adapter_params' => [ 'api_key' => '---API-KEY---', ], ], ], ];
使用 SparkPostSmtpAdapter
<?php return [ // Config array for modules in MassimoFilippi namespace (our modules). 'massimo_filippi' => [ // Config array for MailModule. 'mail_module' => [ // Adapter you want to use. 'adapter' => \MassimoFilippi\MailModule\Adapter\SparkPost\SparkPostSmtpAdapter::class, // Adapter's parameters needed to create adapter's instance (e.g., api key or password). 'adapter_params' => [ 'api_key' => '---SMTP-API-KEY---', ], ], ], ];
用法
在业务逻辑类中某个位置。使用方式始终相同。
<?php use MassimoFilippi\MailModule\Model\Message\Message; use MassimoFilippi\MailModule\Model\Recipient\Recipient; use MassimoFilippi\MailModule\Model\Sender\Sender; try { // Remember that some services need sender's email address enabled first! $sender = new Sender('no-reply@example.com', 'Example.com'); $recipient = new Recipient('john.doe@gmail.com'); $recipient->setName('John Doe'); $message = new Message($sender, $recipient); $message->setSubject('Test'); $message->setMessage('Hello World!'); $this->mailService->sendMail($message); } catch (\Exception $exception) { var_dump($exception->getMessage()); }