文档

PHP SDK 手册

更新时间:
一键部署
重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

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

创建AccessKey

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

  1. 登录AccessKey 管理控制台

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

  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"值,以免泄露。

阿里云SDK支持在操作系统的环境变量中定义ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET的值,代码中从环境变量获取后进行鉴权,参考文档:身份验证配置

调试

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

image.png

(不推荐)旧版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。
	//请在环境变量中配置ALIBABA_CLOUD_ACCESS_KEY_ID,ALIBABA_CLOUD_ACCESS_KEY_SECRET。
	//参考文档:https://help.aliyun.com/document_detail/2361895.html    
	$iClientProfile = DefaultProfile::getProfile("cn-hangzhou", getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));        
    //新加坡或澳洲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”为收件人列表名称。

  • 本页导读 (0)
文档反馈