一、创建 Access Key
登录你的阿里云账号,进入管理控制台。进入 RAM 访问控制页面,新建一个子用户,给子用户添加 AliyunDirectMailFullAccess 权限。关于权限具体看对应的文档,很容易就能找到
二、安装 Java SDK
开发环境
阿里云 Java SDK 支持 JDK1.6 以上的环境
配置好 JDK1.6 以上的环境
配置好 maven 的运行环境,保证能使用 mvn 命令
SDK 下载
- 直接下载: http://aliyundm.oss-cn-hangzhou.aliyuncs.com/example/aliyun-java-sdk-dmV3.1.0.zip 。
- 下载到本地自己能找到的路径,最好是路径名不带中文的。
1. SDK 安装 在解压的文件中可以找到 aliyun-java-sdk-dm-3.0.0-rc1.jar 和 aliyun-java-sdk-core-3.0.0.jar 包。
2. 打开命令行窗口,通过 maven 的 mvn 命令将俩 jar 安装到本地仓库,命令的示例如下:
mvn install:install-file -Dfile=W:\temp\aliyun-java-sdk-dmV3.1.0\aliyun-java-sdk-core-3.0.0.jar -DgroupId=com.aliyun.core -DartifactId=aliyun-java-sdk-core-3.0.0 -Dversion=3.0.0 -Dpackaging=jar
- install-file -Dfile:你解压的文件 jar 的路径
3. 检查本地仓库里是否有新安装的 jar 包
4. Eclipse 的 maven 项目添加该依赖
5.测试邮件发送
// 如果是除杭州region外的其它region(如新加坡、澳洲Region),需要将下面的"cn-hangzhou"替换为"ap-southeast-1"、或"ap-southeast-2"。 IClientProfile profile = DefaultProfile.getProfile("cn-shanghai", "LTAI4FtChc4rKJEXRd56K6rw", "SaNquE1pga9O5KvKwunYqEnmRxstOd"); // 如果是除杭州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("邮件主题"); request.setHtmlBody("邮件正文"); //开启需要备案,0关闭,1开启 //request.setClickTrace("0"); //如果调用成功,正常返回httpResponse;如果调用失败则抛出异常,需要在异常中捕获错误异常码;错误异常码请参考对应的API文档; SingleSendMailResponse httpResponse = client.getAcsResponse(request); System.out.println(JsonUtils.objectToJson(httpResponse)); } catch (ServerException e) { //捕获错误异常码 System.out.println("ErrCode : " + e.getErrCode()); e.printStackTrace(); } catch (ClientException e) { //捕获错误异常码 System.out.println("ErrCode : " + e.getErrCode()); e.printStackTrace(); }
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于