一、介绍
在项目开发中,短信发送功能在很多地方都用得到,例如:通知短信、验证码、营销短信、推广短信等等,近期阿里云等云服务商的短信服务针对个人用户不友好(需求企业资质),现在给大家介绍一款的产品:乐讯通,针对个人用户较为友好,可以很便捷的进行开发测试。
乐讯通官网:http://yun.loktong.com/
二、使用步骤
1. 平台注册
使用手机号注册即可。
注意:注册成功后,默认密码就是手机号。
可在 “系统管理”->"密码管理"中进行密码的修改 。
2. 短信签名和短信模板
平时比较常见的验证码短信格式为:【码赛客1024】:注册验证码为312562,请勿泄露给他人。
前面括号中的就是短信签名,后边部分就是短信模板,因此可以分析出格式为:【短信签名】:短信模板。
2.1 设置签名
文字短信 -> 短信设置 -> 签名管理 -> 添加新的签名
2.2 设置模板
文字短信 -> 短信设置 -> 签名管理 -> 添加新的模板
模板设置需要注意的是,模板中使用{}作为占位符,例如:
【短信签名】:注册验证码为{s6},请勿泄露给他人。
其中的{s6}会被替换为验证码,而6指的是字符最大长度,超过则无法发送。
3. 基于官方API文档实现短信发送
3.1 官方demo
API文档 -> 开发引导 -> 代码示例 -> Java ,代码如下
package com.ljs;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.Console;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.lang.reflect.MalformedParameterizedTypeException;
import java.net.URL;
import java.net.URLConnection;
import java.security.MessageDigest;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
import javax.lang.model.element.VariableElement;
import javax.management.monitor.MonitorSettingException;
import javax.print.attribute.standard.DateTimeAtCompleted;
import org.junit.Test;
public class MyTest {
public static void main(String[] args) throws ParseException {
//时间戳
long timestamp = System.currentTimeMillis();
System.out.println(timestamp);
//url
String url = "http://www.lokapi.cn/smsUTF8.aspx";
//签名,在发送时使用md5加密
String beforSign = "action=sendtemplate&username=18586975869&password="+getMD5String("18586975869")+"&token=389c1a49×tamp="+timestamp;
//参数串
String postData = "action=sendtemplate&username=18586975869&password="+getMD5String("18586975869")+"&token=389c1a49&templateid=CF2D56FC¶m=18586975869|666666&rece=json×tamp="+timestamp+"&sign="+getMD5String(beforSign);
//调用其提供的发送短信方法
String result = sendPost(url,postData);
System.out.println(result);
}
//发送短信的方法
public static String