谜石/破壳邮件

一个 Laminas 模块,用于提供由服务管理器构建和配置的邮件传输

v0.1.2 2020-05-08 14:30 UTC

This package is auto-updated.

Last update: 2024-09-26 08:23:01 UTC


README

一个提供由服务管理器构建和配置的邮件传输的 Laminas 模块

安装

此模块使用 composer 进行安装。有关 composer 文档,请参阅 getcomposer.org

composer require riddlestone/brokkr-mail

使用方法

构建消息

此模块添加了一个用于生成使用 Laminas View 创建内容的消息的工厂。

// local.config.php

return [
    'view_manager' => [
        'template_path_stack' => [
            __DIR__ . '/../views',
        ],
    ],
];
// some_factory_or_service.php

use Laminas\ServiceManager\ServiceManager;
use Riddlestone\Brokkr\Mail\MessageFactory;

/** @var ServiceManager $serviceManager */

$messageFactory = $serviceManager->get(MessageFactory::class);
$message = $messageFactory(
    'mail/my-html-template',
    'mail/my-text-template',
    [
        'view_variable_1' => 'Some value',
        'view_variable_2' => 'Some other value',
    ],
);

创建后,您需要设置主题和其他头字段(如收件人、发件人等)。

创建的消息将有两个备选的 mime 部分:文本和 HTML。如果省略文本模板,则文本将从 HTML 内容创建。

构建传输

此模块添加了一个 Laminas\Mail\Transport\TransportInterface 工厂,它从 mail.transport 配置中创建它。

例如,要使用共享 SMTP 传输

// local.config.php

return [
    'mail' => [
        'transport' => [
            'type' => 'smtp',
            'options' => [
                'name' => 'smtp.example.com',
                'host' => 'smtp.example.com',
                'connection_class' => 'login',
                'connection_config' => [
                    'username' => 'me@example.com',
                    'password' => 'my-p@ssw0rd',
                ],
            ],
        ],
    ],
];
// some_factory_or_service.php

use Laminas\Mail\Message;
use Laminas\Mail\Transport\TransportInterface;
use Laminas\ServiceManager\ServiceManager;

/** @var ServiceManager $serviceManager */
/** @var Message $message */

/** @var TransportInterface $transport */
$transport = $serviceManager->get(TransportInterface::class);
$transport->send($message);

有关配置选项的更多详细信息,请参阅 Laminas Mail 文档

参与其中

https://github.com/riddlestone/brokkr-mail/issues 上提交问题