refactoring
diff --git a/org.eclipse.osbp.utils.email.feature/feature.xml b/org.eclipse.osbp.utils.email.feature/feature.xml index 4252f17..2d2adc0 100644 --- a/org.eclipse.osbp.utils.email.feature/feature.xml +++ b/org.eclipse.osbp.utils.email.feature/feature.xml
@@ -3,7 +3,8 @@ id="org.eclipse.osbp.utils.email.feature" label="%featureName" version="0.9.0.qualifier" - provider-name="%providerName"> + provider-name="%providerName" + plugin="org.eclipse.osbp.license"> <description> %description
diff --git a/org.eclipse.osbp.utils.email/src/org/eclipse/osbp/utils/email/common/Email.java b/org.eclipse.osbp.utils.email/src/org/eclipse/osbp/utils/email/common/Email.java index f2ae505..7334386 100644 --- a/org.eclipse.osbp.utils.email/src/org/eclipse/osbp/utils/email/common/Email.java +++ b/org.eclipse.osbp.utils.email/src/org/eclipse/osbp/utils/email/common/Email.java
@@ -32,7 +32,7 @@ private static Logger log = LoggerFactory.getLogger(Email.class); - private MultiPartEmail email; + private MultiPartEmail mail; private List<String> toAddresses; private String from; @@ -40,27 +40,27 @@ public Email() { log.debug("Instantiate Email"); - email = new MultiPartEmail(); - email.setDebug(log.isDebugEnabled()); + mail = new MultiPartEmail(); + mail.setDebug(log.isDebugEnabled()); - email.setHostName(ProductConfiguration.getEmailServerIp()); + mail.setHostName(ProductConfiguration.getEmailServerIp()); if (ProductConfiguration.isEmailUseSslOnConnect()) { Integer port = ProductConfiguration.getEmailSmtpPort(); - email.setSslSmtpPort(port.toString()); - email.setSSLOnConnect(true); + mail.setSslSmtpPort(port.toString()); + mail.setSSLOnConnect(true); } else { - email.setSmtpPort(ProductConfiguration.getEmailSmtpPort()); - email.setSSLOnConnect(false); + mail.setSmtpPort(ProductConfiguration.getEmailSmtpPort()); + mail.setSSLOnConnect(false); } if (!ProductConfiguration.getAdminEmailUsername().isEmpty()) { - email.setAuthenticator(new DefaultAuthenticator(ProductConfiguration.getAdminEmailUsername(), + mail.setAuthenticator(new DefaultAuthenticator(ProductConfiguration.getAdminEmailUsername(), ProductConfiguration.getAdminEmailPassword())); } String charset = "utf-8"; - email.setCharset(charset); + mail.setCharset(charset); setFrom(ProductConfiguration.getAdminEmail()); toAddresses = new ArrayList<>(); @@ -72,7 +72,7 @@ try { if (!from.isEmpty()) { log.debug("set From: {}", from); - email.setFrom(from); + mail.setFrom(from); this.from = from; } } catch (Exception e) { @@ -92,7 +92,7 @@ if (!to.isEmpty() && !(toAddresses.contains(to))) { log.debug("set To: {}", to); toAddresses.add(to); - email.addTo(to); + mail.addTo(to); } else { log.debug("skip To: {}", to); } @@ -101,12 +101,12 @@ } } - public void setCC(String to) { + public void setCc(String to) { try { if (!to.isEmpty() && !(toAddresses.contains(to))) { log.debug("set CC: {}", to); toAddresses.add(to); - email.addCc(to); + mail.addCc(to); } else { log.debug("skip CC: {}", to); } @@ -115,12 +115,12 @@ } } - public void setBCC(String to) { + public void setBcc(String to) { try { if (!to.isEmpty() && !(toAddresses.contains(to))) { log.debug("set BCC: {}", to); toAddresses.add(to); - email.addBcc(to); + mail.addBcc(to); } else { log.debug("skip BCC: {}", to); } @@ -132,7 +132,7 @@ public void setSubject(String subject) { try { log.debug("set Subject: {}", subject); - email.setSubject(subject); + mail.setSubject(subject); } catch (Exception e) { log.error("set Subject: {}", e.getMessage()); } @@ -145,14 +145,18 @@ MimeMultipart multiPart = new MimeMultipart("alternative"); MimeBodyPart textPart = new MimeBodyPart(); - textPart.setText(body.replaceAll("</*b>", "*").replaceAll("<br>", "").replaceAll("</*t[r|h|d]>", "").replaceAll("</*table>", ""), "utf-8"); + String text=body.replaceAll("</*b>", "").replaceAll("</div>", "\n ").replaceAll("<br>", "\n ").replaceAll("</*t[r|h|d]>", "").replaceAll("</*table>", ""); + text=text.replaceAll("(?s)<[^>]*>(\\s*<[^>]*>)*", ""); + textPart.setText(text, "utf-8"); + textPart.setHeader("Content-Transfer-Encoding", "base64"); MimeBodyPart htmlPart = new MimeBodyPart(); htmlPart.setContent(body, "text/html; charset=utf-8"); + htmlPart.setHeader("Content-Transfer-Encoding", "base64"); multiPart.addBodyPart(textPart); // <-- first multiPart.addBodyPart(htmlPart); // <-- second - email.addPart(multiPart); + mail.addPart(multiPart); } catch (Exception e) { log.error("set Body: {}", e.getMessage()); } @@ -163,9 +167,9 @@ try { if (b) { log.debug("set Highprio "); - email.addHeader("X-Priority","1"); - email.addHeader("X-MSMail-Priority","High"); - email.addHeader("Importance","High"); + mail.addHeader("X-Priority","1"); + mail.addHeader("X-MSMail-Priority","High"); + mail.addHeader("Importance","High"); } } catch (Exception e) { log.error("set Highprio: {}", e.getMessage()); @@ -178,8 +182,8 @@ try { // Send message log.debug("send mail ..."); - email.setSentDate(new Date()); - email.send(); + mail.setSentDate(new Date()); + mail.send(); } catch (Exception e) { log.error("Send mail: {}", e.getMessage()); }