亲测! 拿来即用,dubbo的邮件发送和短信发送

邮件发送

        首先你要保证发送账号的服务状态是开启的,这里不做详细介绍。

        配置邮件相关的yml文件

  mail:
    host: smtp.qq.com  //这里以qq邮箱为例
    
    username: [email protected]     //自己的邮箱地址
    password: azcpuhtcvuacigdh      //服务授权码
    properties:
      mail:
        smtp:
          auth: true
          starttls:
            enable: true
            required: true

   导入maven邮件依赖:



			org.springframework.boot
			spring-boot-starter-mail

   创建一个邮件工具类:

@Component
public class EmailUtil {
	@Autowired
	private JavaMailSender mailSender;
	@Value("${spring.mail.username}") //从yml里面取值
	String username;
	/**
	 * 给某人发送异常邮件
	 *
	 * @param fromBody
	 *            发送至
	 * @param toBody
	 *            发送到
	 * @param topic
	 *            发送主题
	 * @param content
	 *            发送内容
	 */
	public void sendEmail(String toBody, String topic, String content) {
		SimpleMailMessage message = new SimpleMailMessage();
		message.setFrom(username);
		message.setTo(toBody);
		message.setSubject(topic);
		message.setText(content);
		mailSender.send(message);
	}
}

最后测试调用工具类即可:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes=EmailRunApp.class)
public class EmailTest {
	@Autowired
	EmailUtil emailUtil;
	
	@Test
	public void testSendMail() throws Exception {
		emailUtil.sendEmail("[email protected]", "邮件测试", "发送成功,你的验证码是xxxx");
	}
}

短信发送:

短信采用容联云的接口,毕竟有8元的免费短信发送费!

下载容联云相关的jar包,并导入依赖。

在容联云平台中绑定测试号码。

进行测试:

public class SDKTestSendTemplateSMS {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		HashMap result = null;

		//初始化SDK
		CCPRestSmsSDK restAPI = new CCPRestSmsSDK();
		
		//******************************注释*********************************************
		//*初始化服务器地址和端口                                                       *
		//*沙盒环境(用于应用开发调试):restAPI.init("sandboxapp.cloopen.com", "8883");*
		//*生产环境(用户应用上线使用):restAPI.init("app.cloopen.com", "8883");       *
		//*******************************************************************************
		restAPI.init("app.cloopen.com", "8883");
		
		//******************************注释*********************************************
		//*初始化主帐号和主帐号令牌,对应官网开发者主账号下的ACCOUNT SID和AUTH TOKEN     *
		//*ACOUNT SID和AUTH TOKEN在登陆官网后,在“应用-管理控制台”中查看开发者主账号获取*
		//*参数顺序:第一个参数是ACOUNT SID,第二个参数是AUTH TOKEN。                   *
		//*******************************************************************************
		restAPI.setAccount("8a216da866f71d040166fc349c2901fa", "01c5219c8c41403e8c114219b1212357");
		
		
		//******************************注释*********************************************
		//*初始化应用ID                                                                 *
		//*测试开发可使用“测试Demo”的APP ID,正式上线需要使用自己创建的应用的App ID     *
		//*应用ID的获取:登陆官网,在“应用-应用列表”,点击应用名称,看应用详情获取APP ID*
		//*******************************************************************************
		restAPI.setAppId("8a216da866f71d040166fc349c7d0200");
		
		
		//******************************注释****************************************************************
		//*调用发送模板短信的接口发送短信                                                                  *
		//*参数顺序说明:                                                                                  *
		//*第一个参数:是要发送的手机号码,可以用逗号分隔,一次最多支持100个手机号                          *
		//*第二个参数:是模板ID,在平台上创建的短信模板的ID值;测试的时候可以使用系统的默认模板,id为1。    *
		//*系统默认模板的内容为“【云通讯】您使用的是云通讯短信模板,您的验证码是{1},请于{2}分钟内正确输入”*
		//*第三个参数是要替换的内容数组。																														       *
		//**************************************************************************************************
		
		//**************************************举例说明***********************************************************************
		//*假设您用测试Demo的APP ID,则需使用默认模板ID 1,发送手机号是13800000000,传入参数为6532和5,则调用方式为           *
		//*result = restAPI.sendTemplateSMS("13800000000","1" ,new String[]{"6532","5"});																		  *
		//*则13800000000手机号收到的短信内容是:【云通讯】您使用的是云通讯短信模板,您的验证码是6532,请于5分钟内正确输入     *
		//*********************************************************************************************************************
		result = restAPI.sendTemplateSMS("13800000000","1" ,new String[]{"6532","5"});
		
		System.out.println("SDKTestGetSubAccounts result=" + result);
		if("000000".equals(result.get("statusCode"))){
			//正常返回输出data包体信息(map)
			HashMap data = (HashMap) result.get("data");
			Set keySet = data.keySet();
			for(String key:keySet){
				Object object = data.get(key);
				System.out.println(key +" = "+object);
			}
		}else{
			//异常返回输出错误码和错误信息
			System.out.println("错误码=" + result.get("statusCode") +" 错误信息= "+result.get("statusMsg"));
		}
	}

}

测试成功后手机接收短信。

你可能感兴趣的:(亲测! 拿来即用,dubbo的邮件发送和短信发送)