diff --git a/java/code/src/com/redhat/rhn/domain/notification/UserNotificationFactory.java b/java/code/src/com/redhat/rhn/domain/notification/UserNotificationFactory.java index 4673a8240fff..212bfb79a990 100644 --- a/java/code/src/com/redhat/rhn/domain/notification/UserNotificationFactory.java +++ b/java/code/src/com/redhat/rhn/domain/notification/UserNotificationFactory.java @@ -175,7 +175,7 @@ public static void storeForUsers(NotificationMessage notificationMessageIn, Set< message += "\n\n" + data.getDetails(); } MailHelper.withMailer(mailer) - .sendEmail(receipients, subject, message.replaceAll("<.+>", "")); + .sendEmail(receipients, subject, message.replaceAll("<[^>]*>", "")); } } // Update Notification WebSocket Sessions right now diff --git a/java/code/src/com/redhat/rhn/domain/notification/test/NotificationFactoryTest.java b/java/code/src/com/redhat/rhn/domain/notification/test/NotificationFactoryTest.java index d5cd7256b0b9..dc03d322e559 100644 --- a/java/code/src/com/redhat/rhn/domain/notification/test/NotificationFactoryTest.java +++ b/java/code/src/com/redhat/rhn/domain/notification/test/NotificationFactoryTest.java @@ -24,6 +24,7 @@ import com.redhat.rhn.domain.notification.UserNotification; import com.redhat.rhn.domain.notification.UserNotificationFactory; import com.redhat.rhn.domain.notification.types.OnboardingFailed; +import com.redhat.rhn.domain.notification.types.StateApplyFailed; import com.redhat.rhn.domain.role.RoleFactory; import com.redhat.rhn.testing.BaseTestCaseWithUser; import com.redhat.rhn.testing.TestUtils; @@ -60,6 +61,23 @@ public final void testVisibilityForNoRoles() { assertEquals(1, UserNotificationFactory.listUnreadByUser(user).size()); assertEquals(1, UserNotificationFactory.listAllByUser(user).size()); mailer.verify(); + assertContains(mailer.getBody(), "minion1"); + } + + @Test + public final void testEmailContentStripHTML() { + mailer.setExpectedSendCount(1); + UserNotificationFactory.setMailer(mailer); + assertEquals(0, UserNotificationFactory.unreadUserNotificationsSize(user)); + NotificationMessage msg = UserNotificationFactory.createNotificationMessage( + new StateApplyFailed("minion1", 10000010000L, 42L)); + UserNotificationFactory.storeNotificationMessageFor(msg, Collections.emptySet(), empty()); + + assertEquals(1, UserNotificationFactory.unreadUserNotificationsSize(user)); + assertEquals(1, UserNotificationFactory.listUnreadByUser(user).size()); + assertEquals(1, UserNotificationFactory.listAllByUser(user).size()); + mailer.verify(); + assertContains(mailer.getBody(), "minion1"); } @Test diff --git a/java/spacewalk-java.changes.mc.Manager-4.3-fix-notification-email-content b/java/spacewalk-java.changes.mc.Manager-4.3-fix-notification-email-content new file mode 100644 index 000000000000..565b1ee33132 --- /dev/null +++ b/java/spacewalk-java.changes.mc.Manager-4.3-fix-notification-email-content @@ -0,0 +1 @@ +- fix notification messages email content (bsc#1216041)