PHP SDK 手册

本文介绍了如何安装和使用PHP SDK。

创建Access Key

(注:也可以使用阿里云访问控制服务创建的 Access Key。)

  1. 登录 Access Key 管理控制台

  2. 单击页面右上角按钮 创建 Access Key,弹出创建对话框。

  3. 阅读《API使用规范》后,单击 同意并创建

安装 PHP SDK

开发环境

阿里云邮件推送的 PHP SDK 支持 PHP 5.3 或以上版本。

SDK 安装

通过 composer 进行安装

1.添加依赖包

您可以在openAPI页面,“SDK依赖信息”获取新版本号。

composer require alibabacloud/dm-20151123 1.0.x

2.跳转到openAPI进行调试,选择开发语言,填写参数,下载自动生成的代码(会包含参数值)。

调试页面无须填写Key值,在其他环境使用时请在代码中填入相应的"accessKeyId","accessKeySecret"值。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

openAPI

旧版SDK安装方式

SDK 下载

直接下载:https://aliyundm.oss-cn-hangzhou.aliyuncs.com/example/aliyun-php-sdk-dmV3.1.1.zip

SDK 安装

全新安装

在下载的压缩包解压文件夹中找到 aliyun-php-sdk-core 和 aliyun-php-sdk-dm 文件夹,将其放置在您的网站的本地目录下,您就可以使用阿里云邮件推送的 PHP SDK 了。

增量安装

如果您之前已经使用阿里云其他产品(如 ECS、Green、MTS、Push、RDS、负载均衡)的 PHP SDK,建议进行以下步骤安装:

  1. 将下载的压缩包解压后的 aliyun-php-sdk-dm 文件夹放在与 aliyun-php-sdk-core 同一目录下。

  2. 打开您的网站目录的 aliyun-php-sdk-core/Config.php,添加邮件推送产品 SDK 到自动加载列表:

    Autoloader::addAutoloadPath("aliyun-php-sdk-dm");
  3. 用下载的 aliyun-php-sdk-core/RpcAcsRequest.php、aliyun-php-sdk-core/DefaultAcsClient.php 和 aliyun-php-sdk-core\Http\HttpHelper.php 覆盖之前文件。(覆盖文件是为了支持更长的邮件正文。)

发送邮件示例

调用单一发信 API 示例(SingleSendMail 接口说明):

<?php    
    include_once 'aliyun-php-sdk-core/Config.php';
    use Dm\Request\V20151123 as Dm;            
    //需要设置对应的region名称,如华东1(杭州)设为cn-hangzhou,新加坡Region设为ap-southeast-1,澳洲Region设为ap-southeast-2。
    $iClientProfile = DefaultProfile::getProfile("cn-hangzhou", "<your accessKey>", "<your accessSecret>");        
    //新加坡或澳洲region需要设置服务器地址,华东1(杭州)不需要设置。
    //$iClientProfile::addEndpoint("ap-southeast-1","ap-southeast-1","Dm","dm.ap-southeast-1.aliyuncs.com");
    //$iClientProfile::addEndpoint("ap-southeast-2","ap-southeast-2","Dm","dm.ap-southeast-2.aliyuncs.com");
    $client = new DefaultAcsClient($iClientProfile);    
    $request = new Dm\SingleSendMailRequest();     
    //新加坡或澳洲region需要设置SDK的版本,华东1(杭州)不需要设置。
    //$request->setVersion("2017-06-22");
    $request->setAccountName("控制台创建的发信地址");
    $request->setFromAlias("发信人昵称");
    $request->setAddressType(1);
    $request->setTagName("控制台创建的标签");
    $request->setReplyToAddress("true");
    $request->setToAddress("目标地址");
    //可以给多个收件人发送邮件,收件人之间用逗号分开,若调用模板批量发信建议使用BatchSendMailRequest方式
    //$request->setToAddress("邮箱1,邮箱2");
    $request->setSubject("邮件主题");
    $request->setHtmlBody("邮件正文");        
    try {
        $response = $client->getAcsResponse($request);
        print_r($response);
    }
    catch (ClientException  $e) {
        print_r($e->getErrorCode());   
        print_r($e->getErrorMessage());   
    }
    catch (ServerException  $e) {        
        print_r($e->getErrorCode());   
        print_r($e->getErrorMessage());
    }
?>

另调用模板批量发信请使用BatchSendMailRequest,相关修改请参考

$request->setTemplateName("test模板");
$request->setReceiversName("测试-test");

其中“test模板”为模板名称;“测试-test”为收件人列表名称。

阿里云首页 邮件推送 相关技术圈