Helius
2020-07-15 07244d82a31bf9f9e09d3b55135265881d70c2f0
src/main/java/com/xcong/excoin/utils/mail/SubMailSend.java
@@ -1,6 +1,8 @@
package com.xcong.excoin.utils.mail;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import net.sf.json.JSONObject;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
@@ -15,6 +17,7 @@
import org.apache.http.util.EntityUtils;
import java.io.IOException;
import java.util.Date;
import java.util.Map;
import java.util.TreeMap;
@@ -38,24 +41,60 @@
    public static final String TYPE_MD5 = "md5";
    public static final String TYPE_SHA1 = "sha1";
    private static final String APP_ID = "16082";
    private static final String APP_KEY = "f34c792a1112c16c190ed7190d386c4f";
    private static final String FROM = "biue@submail.biue.me";
    private static final String SIGN_TYPE = "";
    /**
     * 发送验证码邮件
     *
     * @param to   对象
     * @param code 验证码
     * @return true or false
     */
    public static boolean sendMail(String to, String code) {
        TreeMap<String, Object> requestData = new TreeMap<String, Object>();
        JSONObject vars = new JSONObject();
        vars.put("code", code);
        String appid = "16082";
        String appkey = "f34c792a1112c16c190ed7190d386c4f";
        String project = "zoKVB";
        String signtype = "";
        String from = "biue@submail.biue.me";
        return request(vars, project, to);
    }
        requestData.put("appid", appid);
    /**
     * 发送充值成功邮件
     *
     * @param to      对象
     * @param time    成功时间
     * @param orderNo 订单编号
     * @return true or false
     */
    public static boolean sendRechargeMail(String to, String time, String orderNo) {
        JSONObject vars = new JSONObject();
        vars.put("time", time);
        vars.put("orderNo", orderNo);
        String project = "x820C2";
        return request(vars, project, to);
    }
    public static boolean sendWithdrawalMail(String to, String time) {
        JSONObject vars = new JSONObject();
        vars.put("time", time);
        String project = "e3BO91";
        return request(vars, project, to);
    }
    private static boolean request(JSONObject vars, String project, String to) {
        TreeMap<String, Object> requestData = new TreeMap<String, Object>();
        requestData.put("appid", APP_ID);
        requestData.put("project", project);
        requestData.put("to", to);
        requestData.put("from", from);
        requestData.put("from", FROM);
        if (!vars.isEmpty()) {
            requestData.put("vars", vars.toString());
        }
        MultipartEntityBuilder builder = MultipartEntityBuilder.create();
        @SuppressWarnings("deprecation")
        ContentType contentType = ContentType.create(HTTP.PLAIN_TEXT_TYPE, HTTP.UTF_8);
@@ -66,17 +105,17 @@
                builder.addTextBody(key, String.valueOf(value), contentType);
            }
        }
        if (signtype.equals(TYPE_MD5) || signtype.equals(TYPE_SHA1)) {
        if (SIGN_TYPE.equals(TYPE_MD5) || SIGN_TYPE.equals(TYPE_SHA1)) {
            String timestamp = getTimestamp();
            requestData.put("timestamp", timestamp);
            requestData.put("sign_type", signtype);
            String signStr = appid + appkey + RequestEncoder.formatRequest(requestData) + appid + appkey;
            requestData.put("sign_type", SIGN_TYPE);
            String signStr = APP_ID + APP_KEY + RequestEncoder.formatRequest(requestData) + APP_ID + APP_KEY;
            builder.addTextBody("timestamp", timestamp);
            builder.addTextBody("sign_type", signtype);
            builder.addTextBody("signature", RequestEncoder.encode(signtype, signStr), contentType);
            builder.addTextBody("sign_type", SIGN_TYPE);
            builder.addTextBody("signature", RequestEncoder.encode(SIGN_TYPE, signStr), contentType);
        } else {
            builder.addTextBody("signature", appkey, contentType);
            builder.addTextBody("signature", APP_KEY, contentType);
        }
        HttpPost httpPost = new HttpPost(URL);
@@ -124,6 +163,8 @@
    }
    public static void main(String[] args) {
        System.out.println(sendMail("546766039@qq.com", "123456"));
//        System.out.println(sendMail("546766039@qq.com", "123456"));
        System.out.println(sendRechargeMail("546766039@qq.com", DateUtil.format(new Date(), DatePattern.NORM_DATETIME_PATTERN), "123456"));
    }
}