devrusspace/yii2-kennwort-email-sender

使用 kennwort.ru 服务 API,通过模板和布局在 yii2 中发送事务性和触发性电子邮件。

1.1.1 2022-12-23 07:19 UTC

This package is auto-updated.

Last update: 2024-09-23 11:09:21 UTC


README

Yii2 邮件发送器

Latest Stable Version Latest Unstable Version License

使用在 https://kennwort.ru 服务端创建的模板发送事务性和触发性电子邮件。模板使用布局机制,可以轻松修改您的触发性和事务性邮件模板。

此组件使用 devrusspace/kennwort-email-sender 包,该包与 api 服务交互。api 文档位于 https://api.kennwort.ru/doc

安装

首选的安装方式是通过 composer

执行

php composer.phar require devrusspace/yii2-kennwort-email-sender "^1.0"

或添加

"devrusspace/yii2-kennwort-email-sender": "^1.0"

到您的 composer.json 文件的 require 部分,并执行 php composer.phar install

使用

将 kennwort 添加到您的 config.php 文件的 components 部分

<?php
return [
    'components' => [
        'kennwort' => [
            'class' => 'Devrusspace\KennwortYii2\ApiClient',
            'token' => 'ваш_токен_созданный_в_личном_кабинете',
            'defaultSenderId' => 'идентификатор_email_из_вашего_списка_отправителей',
        ],
    ]
];
?>

基于模板发送邮件

邮件模板必须在个人帐户中预先创建。发送者的名称和电子邮件地址在创建/编辑模板时指定。

<?php  
$template = 'user/registration';
$mailTo = ['test@test.com' => 'Имя получателя'];
$params = ['var1' => 'значение переменной для подстановки в шаблон'];
$result = Yii::$app->kennwort->sendEmail($template, $mailTo, $params);
$emailId = $result->email->id; // идентификатор отправленного сообщения
?>

示例响应

print_r($result);

stdClass Object
(
    [result] => 1
    [email] => stdClass Object
        (
            [id] => 42bbd42d6dafddb160d61530f8ce9bb2
        )
)

在响应中获得的邮件标识符可以用于获取有关已发送邮件的详细信息。

发送任意消息

默认发送者

从您的应用程序生成默认发送者发送邮件

<?php  
$mailTo = ['test@test.com' => 'Имя получателя'];
$subject = 'Заголовок письма';
$body = 'Html код содержимого письма';
$result = Yii::$app->kennwort->sendEmailDefaultSenderBody($mailTo, $subject, $body);
?>

响应与 基于模板发送邮件 方法相同

指定发送者

从您的应用程序生成发送者发送邮件

<?php  
$senderId = 'идентификатор_email_из_вашего_списка_отправителей'
$mailTo = ['test@test.com' => 'Имя получателя'];
$subject = 'Заголовок письма';
$body = 'Html код содержимого письма';
$result = Yii::$app->kennwort->sendEmailBody($senderId, $mailTo, $subject, $body);
?>

响应与 基于模板发送邮件 方法相同

获取发送消息信息

发送消息给客户端后,您可以调用此方法以获取有关发送消息的详细信息。例如,实际发送/阅读或点击邮件中的链接的时间。

<?php  
$result = Yii::$app->kennwort->getEmail($emailId);
?>

示例响应

print_r($result);

stdClass Object
(
    [id] => 8993cc6ffbfd04173d846c0113a97abe
    [time_add] => 1671777031
    [time_sended] => 1671777031
    [time_opened] => 
    [time_clicked] => 
    [time_opened_last] => 
    [time_clicked_last] => 
    [opened] => 
    [cliked] => 
    [is_test] => 
)

获取模板列表

您可以请求通过个人帐户添加的模板列表,例如用于在您的 CRM 系统中显示。

<?php  
$page = 1;
$perPage = 50;
$result = Yii::$app->kennwort->getTransactionsTemplates($page, $perPage);
?>

示例响应

print_r($result);

Array
(
    [0] => stdClass Object
        (
            [id] => daf1670c9aa1b629a294b4556ffa600d
            [key] => user/registration
            [name] => user / Приветсвенное письмо
            [mail_subject] => Приветсвуем в сервисе транзакционных рассылок
            [mail_pre_text] => {{userName}} отправлять через нас просто 🤠
        )

)

获取发送者列表

您可以请求发送邮件的电子邮件地址列表。发送者通过个人帐户添加/编辑。

<?php  
$page = 1;
$perPage = 50;
$result = Yii::$app->kennwort->getSenders($page, $perPage);
?>

示例响应

print_r($result);

Array
(
    [0] => stdClass Object
        (
            [id] => 13d7c0f5a82f34ad9a76a163bc80a7f4
            [time_add] => 1669741763
            [email] => kennwort@devrus.space
            [name] => Сервис транзакционных рассылок
        )
)