cdcchen / yii2-aliyun
aliyun development sdk
This package's canonical repository appears to be gone and the package has been frozen as a result.
2.0.3
2016-06-26 18:13 UTC
Requires
- php: >=7.1.0
- cdcchen/aliyun-client: ^1.0.0
- cdcchen/curl-client: ^1.0.0
Requires (Dev)
- aliyuncs/oss-sdk-php: ^2.2
- cdcchen/aliyun-sms: ^3.0.0
- phpspec/phpspec: ^3.2
- phpunit/phpunit: ^7.2
- yiisoft/yii2: ^2.0.0
README
composer 安装
composer require cdcchen/yii2-aliyun:^2.0
邮件组件使用教程
配置Yii2组件
'mailer' => [ 'class' => 'cdcchen\yii\aliyun\dm\Mailer', 'viewPath' => '@common/mail', 'accessKeyId' => 'XXXXX', 'accessSecret' => 'YYYYY', ],
发送邮件
/* @var \cdcchen\yii\aliyun\dm\Mailer $mailer */ $mailer = \Yii::$app->get('mailer'); /* @var \cdcchen\yii\aliyun\dm\Message $message */ $message = $mailer->setAddressType(SingleSendMailRequest::ADDRESS_TYPE_RAND) ->compose('test'); $result = $message->setTo(['80xxxx97@qq.com', 'cdxxxn@163.com']) ->setFrom('no-reply@dm.163.cn') ->setFromAlias('狗剩他爹') ->setSubject('yii2-aliyun dm mailer test title') ->setTextBody('yii2-aliyun dm mailer test content') ->send(); var_dump($result);
直接使用SingleSendRequest
发送邮件
/* @var \cdcchen\yii\aliyun\dm\Mailer $mailer */ $mailer = \Yii::$app->get('mailer'); $client = $mailer->getDmClient(); $request = new SingleSendMailRequest(); $request->setAccountName('no-reply@dm.163.cn') ->setFromAlias('狗剩他娘') ->setToAddress(['8xxx97@qq.com', 'cxxxn@163.com']) ->setSubject('yii2-aliyun dm mailer test title') ->setTextBody('yii2-aliyun dm mailer test title'); try { $result = $client->execute($request); var_dump($result->getData()); } catch (ClientException $e) { echo $e->getErrorMessage(); echo $e->getErrorCode(); echo $e->getRequestId(); echo $e->getHostId(); } finally { echo 'Send mail complete.'; }
批量发送邮件
use cdcchen\aliyun\core\base\ClientException; $request = new \cdcchen\aliyun\dm\BatchSendMailRequest(); $request->setAccountName('info@dm.163.cn') ->setTemplateName('【测试】公司全员通知') ->setReceiversName('公司员工'); try { $response = $client->execute($request); var_dump($response->getData()); } catch (ClientException $e) { echo $e->getErrorMessage(); echo $e->getErrorCode(); echo $e->getRequestId(); echo $e->getHostId(); } finally { echo 'Send mail complete.'; }
OssClient
使用教程
配置Yii2组件
'ossClient' => [ 'class' => 'cdcchen\yii\aliyun\OssClient', 'accessKeyId' => 'accessKeyId', 'accessSecret' => 'accessSecret', 'endpoint' => 'oss-cn-hangzhou.aliyuncs.com', 'isCName' => false, 'defaultBucket' => 'xxxx', ],
获取阿里云官方OssClient实例
/* @var cdcchen\yii\aliyun\OssClient $client */ $client = Yii::$app->get('ossClient'); /* @var \OSS\OssClient $ossClient */ $ossClient = $client->getOssClient();