/** * @author liuzhengwei * @date 2020/8/5 11:25 * @description */ public class SendHtmlMail { private static void sendMessage(List<String> to, String title, String messageText) throws MessagingException, java.io.UnsupportedEncodingException { String smtpHost = "smtp.qq.com"; String from = "xxxxxx@qq.com"; // Step 1: Configure the mail session // System.out.println("Configuring mail session for: " + smtpHost); java.util.Properties props = new java.util.Properties(); props.setProperty("mail.smtp.auth", "true");//指定是否需要SMTP验证 props.setProperty("mail.smtp.host", smtpHost);//指定SMTP服务器 props.put("mail.transport.protocol", "smtp"); Session mailSession = Session.getDefaultInstance(props); mailSession.setDebug(false);//是否在控制台显示debug信息 InternetAddress fromAddress = new InternetAddress(from); InternetAddress[] sendTo = new InternetAddress[to.size()]; for (int i = 0; i < to.size(); i++) { sendTo[i] = new InternetAddress(to.get(i)); } MimeMessage testMessage = new MimeMessage(mailSession); testMessage.setFrom(fromAddress); testMessage.setRecipients(javax.mail.Message.RecipientType.TO, sendTo); testMessage.setSentDate(new java.util.Date()); testMessage.setSubject(MimeUtility.encodeText(title, "utf-8", "B")); testMessage.setContent(messageText, "text/html;charset=utf-8"); // Step 3: Now send the message Transport transport = mailSession.getTransport("smtp"); transport.connect(smtpHost, from, "授权码");//qq邮箱设置可打开获取 transport.sendMessage(testMessage, testMessage.getAllRecipients()); transport.close(); } public static void autoSendMail(List<String> toEmailAdress) { // String to = "xxxxx@qq.com"; String subject = "自动化报告"; //subject javamail自动转码 String property = System.getProperty("user.dir")+"\\test-output\\report.html"; String html = readFileContent(property); try { SendHtmlMail.sendMessage(toEmailAdress, subject, html); } catch (javax.mail.MessagingException exc) { exc.printStackTrace(); } catch (java.io.UnsupportedEncodingException exc) { exc.printStackTrace(); } } private static String readFileContent(String fileName) { File file = new File(fileName); BufferedReader reader = null; StringBuffer sbf = new StringBuffer(); try { reader = new BufferedReader(new FileReader(file)); String tempStr; while ((tempStr = reader.readLine()) != null) { sbf.append(tempStr); } reader.close(); return sbf.toString(); } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e1) { e1.printStackTrace(); } } } return sbf.toString(); } }
java自动发送qq邮件(html格式报告)
最新推荐文章于 2024-10-24 10:19:57 发布