Transport transport = null; boolean result; try { // Create a Properties object to contain connection configuration information. Properties props = System.getProperties(); props.put("mail.transport.protocol", "smtp"); props.put("mail.smtp.port", PORT); props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp.auth", "true"); // Create a Session object to represent a mail session with the specified properties. Session session = Session.getDefaultInstance(props); // Create a message with the specified information. MimeMessage msg = new MimeMessage(session); msg.setFrom(new InternetAddress(FROM, FROM_NAME)); msg.setRecipient(Message.RecipientType.TO, new InternetAddress(recipient)); msg.setSubject(subject); //text/html;charset=UTF-8解决中文乱码问题 msg.setContent(stringBuilder.toString(),"text/html;charset=UTF-8"); // Add a configuration set header. Comment or delete the // next line if you are not using a configuration set msg.setHeader("X-SES-CONFIGURATION-SET", CONFIG_SET); // Create a transport. transport = session.getTransport(); // Send the message. System.out.println("Sending..."); // Connect to Amazon SES using the SMTP username and password you specifiedabove. transport.connect(HOST, SIMPLE_MAIL_TRANSFER_PROTOCOL_NAME, SIMPLE_MAIL_TRANSFER_PROTOCOL_PASSWORD); // Send the email. transport.sendMessage(msg, msg.getAllRecipients()); log.info("Email sent!"); result = true; } catch (Exception ex) { ex.printStackTrace(); log.info("The email was not sent."); log.info("Error message: " + ex.getMessage()); result = false; } finally { // Close and terminate the connection. if (transport != null) { try { transport.close(); } catch (MessagingException e) { e.printStackTrace(); } } }