branch develop updated (51925370 -> cea5d67d)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git from 51925370 [jgitflow-maven-plugin]Updating develop poms back to pre merge state new f465ee87 Add text content to email and clean code new 9f742ff5 fix NPE new 74b3eaad Speed up content cleaning new 5f5ac0f5 fixex #10484 : Problème de décodage de sujet d'email new e63cae63 Fix slow email showing new eafbf50a Improve HTML email new cea5d67d Improve error message when sending message The 7 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit cea5d67dfbfee977d33c9c6f97857164ee32912d Author: jcouteau <couteau@codelutin.com> Date: Thu Sep 5 14:57:48 2019 +0200 Improve error message when sending message commit eafbf50ae069102d8c4207f76c27b85cf19312c0 Author: jcouteau <couteau@codelutin.com> Date: Thu Sep 5 14:56:49 2019 +0200 Improve HTML email commit e63cae6346dcf0950f7ad759dacb9f496da5a813 Author: jcouteau <couteau@codelutin.com> Date: Thu Aug 29 12:04:52 2019 +0200 Fix slow email showing commit 5f5ac0f5e6a8bc67b40ce3a793197befb8a615c9 Author: jcouteau <couteau@codelutin.com> Date: Thu Aug 22 09:55:30 2019 +0200 fixex #10484 : Problème de décodage de sujet d'email commit 74b3eaad10794d843cae31f78a8756d70cb4f7b7 Author: jcouteau <couteau@codelutin.com> Date: Thu Aug 22 09:10:11 2019 +0200 Speed up content cleaning commit 9f742ff56dae537ab7c0c8d629ce5da0fa85521e Author: jcouteau <couteau@codelutin.com> Date: Thu Aug 22 09:07:51 2019 +0200 fix NPE commit f465ee875dd3faac1ddd86b00131b2e338167b6d Author: jcouteau <couteau@codelutin.com> Date: Thu Aug 22 09:01:04 2019 +0200 Add text content to email and clean code Summary of changes: .../faxtomail/services/FaxToMailServiceUtils.java | 24 ++++++++++++++--- .../faxtomail/services/service/EmailService.java | 2 +- .../services/service/EmailServiceImpl.java | 30 +++++++++++++++++++--- .../services/FaxToMailServiceUtilsTest.java | 3 +++ .../services/service/EmailServiceTest.java | 9 +++---- .../attachment/AttachmentEditorUIHandler.java | 8 ++++-- .../faxtomail/ui/swing/util/FaxToMailUIUtil.java | 25 +++++++++++++----- 7 files changed, 80 insertions(+), 21 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit f465ee875dd3faac1ddd86b00131b2e338167b6d Author: jcouteau <couteau@codelutin.com> Date: Thu Aug 22 09:01:04 2019 +0200 Add text content to email and clean code --- .../faxtomail/services/service/EmailService.java | 2 +- .../faxtomail/services/service/EmailServiceImpl.java | 13 ++++++++++++- .../faxtomail/services/service/EmailServiceTest.java | 9 ++++----- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java index 27dcbcc1..e077331c 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailService.java @@ -129,7 +129,7 @@ public interface EmailService extends FaxToMailService { void unlockMails(List<String> mailLockIds); void sendHtmlEmail(String from, String to, String subject, String content, String signing) - throws EmailException, MessagingException, IOException; + throws EmailException; void updateRangeRowsWithEdiReturns(); diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java index b8d6b6d7..bbd46ae7 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java @@ -1216,6 +1216,7 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe } message.setHtmlMsg(toSendContent.toString()); + message.setTextMsg(toSendContent.toString()); for (AttachmentFile attachmentFile : attachments) { // Create the attachment @@ -1393,7 +1394,7 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe @Override public void sendHtmlEmail(String from, String to, String subject, String content, String signing) - throws EmailException, MessagingException, IOException { + throws EmailException { final String smtpUser = getApplicationConfig().getSmtpUser(); final String password = getApplicationConfig().getSmtpPassword(); @@ -1421,6 +1422,7 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe toSendContent.append("</body></html>"); message.setHtmlMsg(toSendContent.toString()); + message.setTextMsg(toSendContent.toString()); message.send(); } @@ -2359,6 +2361,15 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe //cf #10123 content = content.replaceAll("font-size:0", "font-size:1"); + + content = content.replaceAll("(.+) width=([\"])(.+)([\"])", "$1"); + content = content.replaceAll("(.+) width=(['])(.+)(['])", "$1"); + content = content.replaceAll("(.+) height=([\"])(.+)([\"])", "$1"); + content = content.replaceAll("(.+) height=(['])(.+)(['])", "$1"); + content = content.replaceAll("(.+) style=([\"])(.+)([\"])", "$1"); + content = content.replaceAll("(.+) style=(['])(.+)(['])", "$1"); + content = content.replaceAll(" ",""); + contents.add(content); } } diff --git a/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/EmailServiceTest.java b/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/EmailServiceTest.java index c3b597a4..56296ead 100644 --- a/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/EmailServiceTest.java +++ b/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/EmailServiceTest.java @@ -150,10 +150,9 @@ public class EmailServiceTest extends AbstractFaxToMailServiceTest { /** * Generate email detail as pdf test. - * @throws InterruptedException */ @Test - public void testEmailDetailsPdf() throws InterruptedException { + public void testEmailDetailsPdf() { // select a random test email PaginationParameter paginationParameter = PaginationParameter.of(0, 1); @@ -411,10 +410,10 @@ public class EmailServiceTest extends AbstractFaxToMailServiceTest { } - @Test /** * Test that jbig2 dependency is present so that pdf generation is correct */ + @Test public void test10004jbig2dependency() throws IOException { File pdf = new File("src/test/resources/pdf/10004.pdf"); File image = new File("src/test/resources/pdf/10004-page1.png"); @@ -431,7 +430,6 @@ public class EmailServiceTest extends AbstractFaxToMailServiceTest { Assert.assertTrue(compareImagePixels(in, pageImage)); } - // @Test /** * Test that generatedPdfPages are always in order */ @@ -451,10 +449,10 @@ public class EmailServiceTest extends AbstractFaxToMailServiceTest { // Assert.assertTrue(compareImagePixels(in, pageImage)); // } - @Test /** * Test that Imaging (JAI) Image I/O Tools is present so that pdf generation is correct */ + @Test public void test10075() throws IOException { File pdf = new File("src/test/resources/pdf/10075.pdf"); @@ -470,6 +468,7 @@ public class EmailServiceTest extends AbstractFaxToMailServiceTest { + private final int ALPHA = 24; private final int RED = 16; private final int GREEN = 8; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit 9f742ff56dae537ab7c0c8d629ce5da0fa85521e Author: jcouteau <couteau@codelutin.com> Date: Thu Aug 22 09:07:51 2019 +0200 fix NPE --- .../ui/swing/content/attachment/AttachmentEditorUIHandler.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java index 2c3e0b6e..7d6e379a 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/attachment/AttachmentEditorUIHandler.java @@ -230,8 +230,12 @@ public class AttachmentEditorUIHandler extends AbstractToolbarPopupHandler<Attac } public boolean isAttachmentEditable(Attachment attachment) { - return FaxToMailUIUtil.isFileTypeEditable(attachment.getOriginalFileName()) - && (getModel().isEditable() || attachment.getEditedFileName() != null); + if (attachment != null) { + return FaxToMailUIUtil.isFileTypeEditable(attachment.getOriginalFileName()) + && (getModel().isEditable() || attachment.getEditedFileName() != null); + } else { + return false; + } } public boolean isAttachmentRemovable(Attachment attachment) { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit 74b3eaad10794d843cae31f78a8756d70cb4f7b7 Author: jcouteau <couteau@codelutin.com> Date: Thu Aug 22 09:10:11 2019 +0200 Speed up content cleaning --- .../faxtomail/ui/swing/util/FaxToMailUIUtil.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java index 97a7d79d..f06c0351 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java @@ -993,16 +993,19 @@ public final class FaxToMailUIUtil extends ApplicationUIUtil { // <img src='cid:5e9ef859-ea65-4f9b-a9fa-30d4a2c5837c' content = content.replaceAll("(\\w+)=([\"'])cid:" + Pattern.quote(key) + "([\"'])", "$1=$2" + file.toURI() + "$3"); - //remove the height and width on images as that can force big width with no horizontal scroll on rendering #10344 - content = content.replaceAll("(\\w+) width=([\"'])(\\w+)([\"'])", "$1"); - content = content.replaceAll("(\\w+) height=([\"'])(\\w+)([\"'])", "$1"); - if (log.isDebugEnabled()) { log.debug("Mapping attachment id " + key + " to file " + file.toURI()); } } - - //remove as that can force big width with no horizontal scroll on rendering #10344 + //remove the height, width and style on elements as that can force big width with no horizontal scroll on rendering, cf. #10344 + content = content.replaceAll("(.+) width=([\"])(.+)([\"])", "$1"); + content = content.replaceAll("(.+) width=(['])(.+)(['])", "$1"); + content = content.replaceAll("(.+) height=([\"])(.+)([\"])", "$1"); + content = content.replaceAll("(.+) height=(['])(.+)(['])", "$1"); + content = content.replaceAll("(.+) style=([\"])(.+)([\"])", "$1"); + content = content.replaceAll("(.+) style=(['])(.+)(['])", "$1"); + + //remove as that can force big width with no horizontal scroll on rendering, cf. #10344 content = content.replaceAll(" ",""); if (log.isTraceEnabled()) { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit 5f5ac0f5e6a8bc67b40ce3a793197befb8a615c9 Author: jcouteau <couteau@codelutin.com> Date: Thu Aug 22 09:55:30 2019 +0200 fixex #10484 : Problème de décodage de sujet d'email --- .../faxtomail/services/FaxToMailServiceUtils.java | 24 +++++++++++++++++++--- .../services/FaxToMailServiceUtilsTest.java | 3 +++ 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/FaxToMailServiceUtils.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/FaxToMailServiceUtils.java index cd72cceb..328f41c0 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/FaxToMailServiceUtils.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/FaxToMailServiceUtils.java @@ -163,9 +163,27 @@ public class FaxToMailServiceUtils { public static String getDecodedSubject(String subject) throws UnsupportedEncodingException { Preconditions.checkNotNull(subject); - if (subject.startsWith("=?iso-")) { - subject = subject.replaceAll(" ", "=20"); - subject = MimeUtility.decodeText(subject); + Pattern pattern=Pattern.compile("=\\?([^?]+)\\?([^?]+)\\?([^?]+)\\?="); + Matcher m=pattern.matcher(subject); + + ArrayList<String> encodedParts=new ArrayList<>(); + + while(m.find()){ + encodedParts.add(m.group(0)); + } + + if(encodedParts.size()>0){ + try { + for(String encoded:encodedParts) { + String correctlyEncoded = encoded; + if (correctlyEncoded.startsWith("=?iso-")) { + correctlyEncoded = correctlyEncoded.replaceAll(" ", "=20"); + } + subject=subject.replace(encoded, MimeUtility.decodeText(correctlyEncoded)); + } + } catch(Exception ex) { + log.info("Error decoding subject : ", ex); + } } return subject; diff --git a/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/FaxToMailServiceUtilsTest.java b/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/FaxToMailServiceUtilsTest.java index 9fdfff13..26a457f8 100644 --- a/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/FaxToMailServiceUtilsTest.java +++ b/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/FaxToMailServiceUtilsTest.java @@ -60,6 +60,9 @@ public class FaxToMailServiceUtilsTest { subject = "Un fax de 1 page(s) a été reçu"; Assert.assertEquals("Un fax de 1 page(s) a été reçu", FaxToMailServiceUtils.getDecodedSubject(subject)); + subject = "Auto: Accusé de réception de votre=?Cp1252?Q?_commande_=E0_France_Fermetures?="; + Assert.assertEquals("Auto: Accusé de réception de votre commande à France Fermetures", FaxToMailServiceUtils.getDecodedSubject(subject)); + } catch (Exception e) { Assert.fail(e.getMessage()); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit e63cae6346dcf0950f7ad759dacb9f496da5a813 Author: jcouteau <couteau@codelutin.com> Date: Thu Aug 29 12:04:52 2019 +0200 Fix slow email showing --- .../faxtomail/ui/swing/util/FaxToMailUIUtil.java | 28 +++++++++++++++------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java index f06c0351..322016c3 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java @@ -997,16 +997,16 @@ public final class FaxToMailUIUtil extends ApplicationUIUtil { log.debug("Mapping attachment id " + key + " to file " + file.toURI()); } } - //remove the height, width and style on elements as that can force big width with no horizontal scroll on rendering, cf. #10344 - content = content.replaceAll("(.+) width=([\"])(.+)([\"])", "$1"); - content = content.replaceAll("(.+) width=(['])(.+)(['])", "$1"); - content = content.replaceAll("(.+) height=([\"])(.+)([\"])", "$1"); - content = content.replaceAll("(.+) height=(['])(.+)(['])", "$1"); - content = content.replaceAll("(.+) style=([\"])(.+)([\"])", "$1"); - content = content.replaceAll("(.+) style=(['])(.+)(['])", "$1"); - //remove as that can force big width with no horizontal scroll on rendering, cf. #10344 - content = content.replaceAll(" ",""); + StringBuilder builder = new StringBuilder(content); + replaceAll(builder, "(.+) width=([\"])(.+)([\"])", "$1"); + replaceAll(builder, "(.+) width=(['])(.+)(['])", "$1"); + replaceAll(builder, "(.+) height=([\"])(.+)([\"])", "$1"); + replaceAll(builder, "(.+) height=(['])(.+)(['])", "$1"); + replaceAll(builder, "(.+) style=([\"])(.+)([\"])", "$1"); + replaceAll(builder, "(.+) style=(['])(.+)(['])", "$1"); + replaceAll(builder, " ",""); + content = builder.toString(); if (log.isTraceEnabled()) { log.trace("Content after mail = " + content); @@ -1036,6 +1036,16 @@ public final class FaxToMailUIUtil extends ApplicationUIUtil { } } + /* Faster method to replace String.replaceAll (More thant 30 time faster on some emails)*/ + public static void replaceAll(StringBuilder builder, String from, String to) { + int index = builder.indexOf(from); + while (index != -1) { + builder.replace(index, index + from.length(), to); + index += to.length(); // Move to the end of the replacement + index = builder.indexOf(from, index); + } + } + protected static JTextPane createHtmlTextPane() { JTextPane textPane = new JTextPane(); textPane.setEditable(false); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit eafbf50ae069102d8c4207f76c27b85cf19312c0 Author: jcouteau <couteau@codelutin.com> Date: Thu Sep 5 14:56:49 2019 +0200 Improve HTML email --- .../faxtomail/services/service/EmailServiceImpl.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java index bbd46ae7..097cc9bf 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java @@ -1411,18 +1411,25 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe message.setCharset(EmailConstants.UTF_8); message.setFrom(from); - message.addTo(to); + String[] tos = to.split("\\s*;\\s*"); + message.addTo(tos); message.setSubject(subject); StringBuilder toSendContent = new StringBuilder("<html><body>"); - toSendContent.append(content); + if (StringUtils.isNotEmpty(content)) { + toSendContent.append(content); + } if (StringUtils.isNotEmpty(signing)) { toSendContent.append("<p><img src='").append(signing).append("'/></p>"); } toSendContent.append("</body></html>"); message.setHtmlMsg(toSendContent.toString()); - message.setTextMsg(toSendContent.toString()); + if (StringUtils.isNotEmpty(content)) { + message.setTextMsg(content); + } else { + message.setTextMsg(toSendContent.toString()); + } message.send(); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit cea5d67dfbfee977d33c9c6f97857164ee32912d Author: jcouteau <couteau@codelutin.com> Date: Thu Sep 5 14:57:48 2019 +0200 Improve error message when sending message --- .../franciaflex/faxtomail/services/service/EmailServiceImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java index 097cc9bf..7af4673a 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java @@ -1227,7 +1227,11 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe Date beforeSendingMessage = new Date(); - message.send(); + try { + message.send(); + } catch (EmailException e) { + throw new RuntimeException("Impossible d'envoyer l'email, vérifiez la taille des pièces jointes ou la connexion au serveur. Si le problème persiste, contactez la hotline", e); + } Date afterSendingMessage = new Date(); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm