创建 Access Key
- 登录 Access Key 管理控制台。
- 单击页面右上角按钮 创建 Access Key,弹出创建对话框。
- 阅读《API使用规范》后,单击 同意并创建。
注:也可以使用阿里云访问控制服务创建的 Access Key。
安装 PHP SDK
开发环境
阿里云邮件推送的 PHP SDK 支持 PHP 5.3 或以上版本。
SDK 下载
直接下载:http://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,建议进行以下步骤安装:
- 将下载的压缩包解压后的 aliyun-php-sdk-dm 文件夹放在与 aliyun-php-sdk-core 同一目录下。
- 打开您的网站目录的 aliyun-php-sdk-core/Config.php,添加邮件推送产品 SDK 到自动加载列表:
Autoloader::addAutoloadPath("aliyun-php-sdk-dm");
- 用下载的 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("目标地址");
$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());
}
?>