承接 chocoboxxf/yii2-sendcloud-sdk 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

chocoboxxf/yii2-sendcloud-sdk

Composer 安装命令:

composer require chocoboxxf/yii2-sendcloud-sdk

包简介

SendCloud API for Yii 2.0

README 文档

README

基于Yii2实现的SendCloud API SDK(目前开发中)

环境条件

  • = PHP 5.4

  • = Yii 2.0

  • = GuzzleHttp 6.0

安装

添加下列代码在composer.json文件中并执行composer update --no-dev操作

{
    "require": {
       "chocoboxxf/yii2-sendcloud-sdk": "dev-master"
    }
}

设置方法

// 全局使用
// 在config/main.php配置文件中定义component配置信息
'components' => [
  .....
  'mail' => [
    'class' => 'chocoboxxf\SendCloud\SendCloud',
    'apiUser' => 'API_USER', // API User
    'apiKey' => 'API_KEY', // API Key
    'defaultFrom' => 'default@default.com', // 缺省发件人地址
    'defaultFromName' => 'default', // 缺省发件人名称
  ]
  ....
]
// 代码中调用
$result = Yii::$app->mail->sendTemplateMail(
    'TEMPLATE_NAME',
    ['user_a@company.com', 'user_b@company.com'],
    'admin@company.com',
    'admin',
    'Welcome Letter',
    ['key1' => 'value1 for all', 'key2' => ['value2 for a', 'value2 for b']],
    ['/path/to/file1', '/path/to/file2']
);
....
// 局部调用
$mailService = Yii::createObject([
    'class' => 'chocoboxxf\SendCloud\SendCloud',
    'apiUser' => 'API_USER', // API User
    'apiKey' => 'API_KEY', // API Key
    'defaultFrom' => 'default@default.com', // 缺省发件人地址
    'defaultFromName' => 'default', // 缺省发件人名称
]);
$result = $mailService->sendTemplateMail(
    'TEMPLATE_NAME',
    ['user_a@company.com', 'user_b@company.com'],
    'admin@company.com',
    'admin',
    'Welcome Letter',
    ['key1' => 'value1 for all', 'key2' => ['value2 for a', 'value2 for b']],
    ['/path/to/file1', '/path/to/file2']
);
....

使用示例

普通发送接口

$subject = '测试邮件';
$content = '<html><h1>this is a test %key% html text</h1></html>';
$to = ['user_a@company.com', 'user_b@company.com'];
$from = 'admin@company.com';
$fromName = '管理员';
$templateData = [
    'key' => 'value',
];
$attachments = [
   '/path/to/file1',
];
$result = Yii::$app->mail->sendNormalMail($subject, $content, $to, $from, $fromName, $templateData, $attachments);
if ($result['result'] === true) {
    // 正常情况
    // 返回数据格式
    // {
    //   "statusCode": 200,
    //   "info": {
    //     "emailIdList": [
    //       "1447054895514_15555555_32350_1350.sc-10_10_126_221-inbound0$user_a@company.com",
    //       "1447054895514_15555555_32350_1350.sc-10_10_126_221-inbound1$user_b@company.com"
    //     ]
    //   },
    //   "message": "请求成功",
    //   "result": true
    // }
    ....
} else {
    // 出错情况
    // 返回数据格式
    // {
    //   "statusCode": 40863,
    //   "info": {},
    //   "message": "to中有不存在的地址列表. 参数to: user_a@company.com",
    //   "result": false
    // }
    ....
}
....

模板发送接口

$subject = '测试邮件';
$template = 'TEMPLATE_NAME';
$to = ['user_a@company.com', 'user_b@company.com'];
$from = 'admin@company.com';
$fromName = '管理员';
$templateData = [
    'key1' => 'value1 for a and b',
    'key2' => ['value2 for a', 'value2 for b']
];
$attachments = [
   '/path/to/file1',
];
$result = Yii::$app->mail->sendTemplateMail($template, $to, $from, $fromName, $subject, $templateData, $attachments);
if ($result['result'] === true) {
    // 正常情况
    // 返回数据格式
    // {
    //   "statusCode": 200,
    //   "info": {
    //     "emailIdList": [
    //       "1447054895514_15555555_32350_1350.sc-10_10_126_221-inbound0$user_a@company.com",
    //       "1447054895514_15555555_32350_1350.sc-10_10_126_221-inbound1$user_b@company.com"
    //     ]
    //   },
    //   "message": "请求成功",
    //   "result": true
    // }
    ....
} else {
    // 出错情况
    // 返回数据格式
    // {
    //   "statusCode": 40863,
    //   "info": {},
    //   "message": "to中有不存在的地址列表. 参数to: user_a@company.com",
    //   "result": false
    // }
    ....
}
....

chocoboxxf/yii2-sendcloud-sdk 适用场景与选型建议

chocoboxxf/yii2-sendcloud-sdk 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 76 次下载、GitHub Stars 达 1, 最近一次更新时间为 2016 年 09 月 23 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「mail」 「sms」 「sdk」 「yii2」 「sendcloud」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 chocoboxxf/yii2-sendcloud-sdk 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 chocoboxxf/yii2-sendcloud-sdk 我们能提供哪些服务?
定制开发 / 二次开发

基于 chocoboxxf/yii2-sendcloud-sdk 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-09-23