
org.rx.util.Helper Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of rxlib-x Show documentation
Show all versions of rxlib-x Show documentation
A set of utilities for Java
The newest version!
package org.rx.util;
import lombok.NonNull;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.rx.core.Numbers;
import org.rx.spring.MiddlewareConfig;
import org.rx.spring.SpringContext;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.function.Function;
import static org.rx.core.Extends.eq;
import static org.rx.core.Sys.toJsonString;
@Slf4j
public class Helper {
public static void sendEmail(String body) {
MiddlewareConfig config = SpringContext.getBean(MiddlewareConfig.class);
Helper.sendEmail(body, config.getSmtpPwd(), config.getSmtpTo());
}
public static void sendEmail(String body, @NonNull String password, @NonNull String toEmail) {
final String fromEmail = "[email protected]";
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.163.com");
props.put("mail.smtp.port", "25");
props.put("mail.smtp.auth", "true");
Session session = Session.getInstance(props, new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(fromEmail, password);
}
});
try {
MimeMessage msg = new MimeMessage(session);
msg.addHeader("Content-type", "text/HTML; charset=UTF-8");
msg.addHeader("format", "flowed");
msg.addHeader("Content-Transfer-Encoding", "8bit");
msg.setFrom(new InternetAddress(fromEmail, "System"));
msg.setReplyTo(InternetAddress.parse("[email protected]", false));
msg.setSubject("Notification", "UTF-8");
msg.setText(body, "UTF-8");
msg.setSentDate(new Date());
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(toEmail, false));
Transport.send(msg);
} catch (Exception e) {
log.warn("sendEmail {}", e.getMessage());
}
}
public static Map> readExcel(InputStream in, boolean is2003File) {
return readExcel(in, is2003File, false, false);
}
@SneakyThrows
public static Map> readExcel(InputStream in, boolean is2003File, boolean skipColumn, boolean keepNullRow) {
Map> data = new LinkedHashMap<>();
FormulaEvaluator evaluator = null;
try (Workbook workbook = is2003File ? new HSSFWorkbook(in) : new XSSFWorkbook(in)) {
for (int sheetIndex = 0; sheetIndex < workbook.getNumberOfSheets(); sheetIndex++) {
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy