(注:也可以使用阿里云访问控制服务创建的 Access Key。)
- 登录 Access Key 管理控制台。
- 单击页面右上角按钮 创建 Access Key,弹出创建对话框。
- 阅读《API使用规范》后,单击 同意并创建。
安装 Java SDK
开发环境
阿里云 Java SDK 支持 J2SE Development Kit (JDK) 1.6 或以上版本。
SDK 下载
SDK 安装
手动安装
- 在解压的文件中可以找到 aliyun-java-sdk-dm-3.0.0-rc1.jar 和 aliyun-java-sdk-core-3.0.0.jar 包。
- 以 Eclipse 导入 JAR 包为例:在 Eclipse 上右键点击 Project,再单击 Properties > Java Build Path > Libraries > Add External JARs(netbeans 和 intellij 等其他 idea 用户请自行按照相应导入 JAR 包的方法导入)。
- 选择以上 JAR 包,点击 OK 按钮。
经过以上步骤,你就可以在工程中使用阿里云 Java SDK 了。
通过 maven 进行安装
- 添加 maven 库
<repositories>
<repository>
<id>sonatype-nexus-staging</id>
<name>Sonatype Nexus Staging</name>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
- 添加 JAR 包
<dependencies>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-dm</artifactId>
<version>3.1.0</version>
</dependency>
</dependencies>
发送邮件示例
调用单一发信 API 示例 (如何调用此接口,请参见 SingleSendMail ):
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.dm.model.v20151123.SingleSendMailRequest;
import com.aliyuncs.dm.model.v20151123.SingleSendMailResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;
public void sample() {
// 如果是除杭州region外的其它region(如新加坡、澳洲Region),需要将下面的”cn-hangzhou”替换为”ap-southeast-1”、或”ap-southeast-2”。
IClientProfile profile = DefaultProfile.getProfile(“cn-hangzhou”, “<your accessKey>”, “<your accessSecret>”);
// 如果是除杭州region外的其它region(如新加坡region), 需要做如下处理
//try {
//DefaultProfile.addEndpoint(“dm.ap-southeast-1.aliyuncs.com”, “ap-southeast-1”, “Dm”, “dm.ap-southeast-1.aliyuncs.com”);
//} catch (ClientException e) {
//e.printStackTrace();
//}
IAcsClient client = new DefaultAcsClient(profile);
SingleSendMailRequest request = new SingleSendMailRequest();
try {
//request.setVersion(“2017-06-22”);// 如果是除杭州region外的其它region(如新加坡region),必须指定为2017-06-22
request.setAccountName(“控制台创建的发信地址”);
request.setFromAlias(“发信人昵称”);
request.setAddressType(1);
request.setTagName(“控制台创建的标签”);
request.setReplyToAddress(true);
request.setToAddress(“目标地址”);
//可以给多个收件人发送邮件,收件人之间用逗号分开,批量发信建议使用BatchSendMailRequest方式
//request.setToAddress(“邮箱1,邮箱2”);
request.setSubject(“邮件主题”);
//如果采用byte[].toString的方式的话请确保最终转换成utf-8的格式再放入htmlbody和textbody,若编码不一致则会被当成垃圾邮件。
//注意:文本邮件的大小限制为3M,过大的文本会导致连接超时或413错误
request.setHtmlBody(“邮件正文”);
//SDK 采用的是http协议的发信方式, 默认是GET方法,有一定的长度限制。
//若textBody、htmlBody或content的大小不确定,建议采用POST方式提交,避免出现uri is not valid异常
request.setMethod(MethodType.POST);
//开启需要备案,0关闭,1开启
//request.setClickTrace(“0”);
//如果调用成功,正常返回httpResponse;如果调用失败则抛出异常,需要在异常中捕获错误异常码;错误异常码请参考对应的API文档;
SingleSendMailResponse httpResponse = client.getAcsResponse(request);
} catch (ServerException e) {
//捕获错误异常码
System.out.println(“ErrCode : “ + e.getErrCode());
e.printStackTrace();
}
catch (ClientException e) {
//捕获错误异常码
System.out.println(“ErrCode : “ + e.getErrCode());
e.printStackTrace();
}
}
单击 这里 获取更多 Java SDK 的使用提示。
另调用模板批量发信请使用BatchSendMailRequest,相关修改
request.setTemplateName(“test模板”);
request.setReceiversName(“测试-test”);
其中“test模板”为模板名称;“测试-test”为收件人列表名称。