邮件发送和网络请求

发送网络请求:okhttp3

get请求

OkHttpClient okHttpClient = new OkHttpClient();
Request request = new Request.Builder()
        .url("http://api.xxx.com/xxx/api/GetToken?appid=SHHY&secret=xxxxx")
    	.addHeader("x-token","sdfsdfsdfsdf")
        .build();
Response response = okHttpClient.newCall(request).execute();
//获取响应体
ResponseBody responseBody = response.body();
String string = responseBody.string();
        System.err.println(string);
//转成json对象
        JSONObject jsonObject = JSON.parseObject(string);
        System.out.println(jsonObject.toString());
//获取string或int类型的code
        System.out.println(jsonObject.getString("code"));
        System.out.println(jsonObject.getIntValue("code"));
        String data = jsonObject.getString("data");
//获取string的data转成json对象
        JSONObject parseObject = JSON.parseObject(data);
        String token = parseObject.getString("token");
        System.out.println(parseObject.getString("token"));
        System.out.println(token);

post请求

		JSONArray extraInfo = new JSONArray();
        extraInfo.add("SNBU8164041");
        extraInfo.add("SNBU8164042");
        final JSONArray jsonArray = new JSONArray();
        final JSONObject jsonObject1 = new JSONObject();
        jsonObject1.put("subType",1);
        jsonObject1.put("carrierCd","EMC");
        jsonObject1.put("subNo","143364633388");

        jsonObject1.put("extraInfo",null);
//请求体内容
        jsonArray.add(jsonObject1);
        Request build = new Request.Builder()
                .url("http://api.cargoorbs.com/mobius/api/GetShipYiDa")
                .addHeader("x-token",token)
                .addHeader("Content-Type","application/json")
                .post(RequestBody.create(MediaType.parse("application/json;charset=utf-8"),jsonArray.toJSONString()))
                .build();
//执行请求
        final Response execute = okHttpClient.newCall(build).execute();
        System.err.println(execute.body().string());

邮件发送:javamail

邮件参数的配置

/**
 * JavaMailSender 默认通过读取 application.yml 加载配置创建对象
 * 但是系统将配置信息存在数据表里,此处需要手动创建 JavaMailSenderImpl 对象
 *
 * @return
 */
public JavaMailSenderImpl getMailService() {
    // 获取数据表保存的邮件配置参数
    YouJianCanShuPeiZhi configInfo = youJianCanShuPeiZhiService.getConfigInfo();
    // 创建对象
    JavaMailSenderImpl javaMailSenderImpl = new JavaMailSenderImpl();
    // 相关对象赋值
    javaMailSenderImpl.setHost(configInfo.getSmtpFuWuQi()); // 服务器smtp.263.net
    if (configInfo.getSmtpSsl()) {//开启ssl

        javaMailSenderImpl.setProtocol("smtps");
        javaMailSenderImpl.setPort(configInfo.getSmtpDuanKou()); //端口465
    }
    javaMailSenderImpl.setUsername(configInfo.getZhangHao()); //邮箱
    javaMailSenderImpl.setPassword(configInfo.getMiMa());  	//密码
    javaMailSenderImpl.setDefaultEncoding("utf-8");
    // 其他参数配置
    Properties properties = new Properties();
    properties.put("mail.smtp.auth", "true");
    properties.put("mail.smtp.starttls.enable", "true");
    properties.put("mail.smtp.starttls.required", "true");
    javaMailSenderImpl.setJavaMailProperties(properties);
    return javaMailSenderImpl;
}

邮件发送

JavaMailSenderImpl mailService = getMailService();
MimeMessage message = mailService.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true); //multipart:是否支持批量信息替换文本,一般是true

String faJianRenLeiXing = faSongYouJianPeiZhi.getFaJianRenLeiXing();
helper.setFrom(configInfo.getZhangHao(), "上海钛腾计算机科技有限公司");//设置发件人
String[] to = Arrays.stream(guDingShouJianRen.split(";")).filter(x -> !"".equals(x)).toArray(String[]::new);
helper.setTo(to);//设置收件人
String[] cc =  Arrays.stream(guDingChaoSongRen.split(";")).filter(x -> !"".equals(x)).toArray(String[]::new);
helper.setCc(cc);//设置抄送人
helper.setSubject(faSongYouJianPeiZhi.getZhuTi());//设置主题
helper.setText(faSongYouJianPeiZhi.getContent(), true);//设置内容,true:开启html解析
helper.addAttachment("pdf文件.pdf", new ByteArrayResource(pdfByHtml.getResult()));//设置附件,参数1:文件名,参数2:文件(InputStreamSource,File,DataSource)等
// 执行发送操作
mailService.send(message);
              
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值