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

  1. 登录 Access Key 管理控制台
  2. 单击页面右上角按钮 创建 Access Key,弹出创建对话框。
  3. 阅读《API使用规范》后,单击 同意并创建

安装 Java SDK

开发环境

阿里云 Java SDK 支持 J2SE Development Kit (JDK) 1.6 或以上版本。

SDK 下载

SDK 安装

手动安装

  1. 在解压的文件中可以找到 aliyun-java-sdk-dm-3.0.0-rc1.jar 和 aliyun-java-sdk-core-3.0.0.jar 包。
  2. 以 Eclipse 导入 JAR 包为例:在 Eclipse 上右键点击 Project,再单击 Properties > Java Build Path > Libraries > Add External JARs(netbeans 和 intellij 等其他 idea 用户请自行按照相应导入 JAR 包的方法导入)。
  3. 选择以上 JAR 包,点击 OK 按钮。

经过以上步骤,你就可以在工程中使用阿里云 Java SDK 了。

通过 maven 进行安装

  1. 添加 maven 库
  1. <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>
  1. 添加 JAR 包
  1. <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 ):

  1. 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,相关修改

  1. request.setTemplateName(“test模板”);
    request.setReceiversName(“测试-test”);

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