Java SDK
安装
- 使用Maven
<dependency>
<groupId>net.sendcloud.sdk</groupId>
<artifactId>sendcloud-sdk-java</artifactId>
<version>1.9</version>
</dependency>
- 手动安装
请尽量使用包管理工具自动解决依赖问题。如果条件实在不满足,只能通过手动下载JAR包的方式来解决。依赖的第三方库如下
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.14</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.5.14</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>[20200518,)</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.10</version>
</dependency>
如何使用
创建接收者对象:
MailAddressReceiver receiver = new MailAddressReceiver();
// ... 添加收件人、抄送、密送
这里你创建了一个MailAddressReceiver
对象,并添加了收件人、抄送和密送地址。
创建邮件内容对象:
MailBody body = new MailBody();
// ... 设置邮件内容
你设置了邮件的发送者、发送者名称、回复地址、邮件标题等。
设置邮件内容:
TextContent content = new TextContent();
content.setContent_type(ScContentType.html);
content.setText("<html><p>helo world</p></html>");
这里你创建了一个TextContent
对象,并设置了内容为HTML格式的字符串。
构建SendCloudMail对象:
SendCloudMail mail = new SendCloudMail();
mail.setTo(receiver);
mail.setBody(body);
mail.setContent(content);
你将之前创建的接收者、邮件内容和邮件文本内容设置到了SendCloudMail
对象中。
Region:
CN, SGP, IND
分别是国内、新加坡和印度节点
构建Credential对象:
- 方式一:使用配置文件
在classpath创建sendcloud.properties配置文件,并按需完善以下配置
api_user_cn = {Your api user}
api_key_cn = {Your api key}
sms_user_cn = {Your sms user}
sms_key_cn = {Your sms key}
api_user_sgp = {Your api user}
api_key_sgp = {Your api key}
api_user_ind = {Your api user}
api_key_ind = {Your api key}
Credential credential = new Credential(SendcloudConfig.getApiUser(), SendcloudConfig.getApiKey());
- 方式二:不使用配置文件
Credential credential = new Credential("API_USER", "API_KEY");
sendRequestId:
mail.setSendRequestId("sendRequestId");
1小时内相同sendRequestId的多次请求只会处理第一次,从而避免重复请求,可以不设置
发送邮件:
SendCloud sc = SendCloudBuilder.build();
ResponseData res = sc.sendMail(mail,Region.CN);