pilichoumao opened a new pull request, #6922:
URL: https://github.com/apache/rocketmq-dashboard/pull/6922

   ### Which Issue(s) This PR Fixes
   
   Fixes #6921.
   
   ### Brief Description
   
   An email recipient such as `[email protected] (Ops, on call), 
[email protected]` is split at the comma inside its comment, so address 
validation fails and the alert retries without sending. Track nested comments 
and quoted pairs while splitting the configured list; continue validating each 
complete address with `InternetAddress`.
   
   This extends #6663's quoted-display-name handling while preserving 
comma/legacy semicolon separators, quoted names and strict rejection of invalid 
addresses. The patch changes parsing, adds dispatch-level regressions and 
documents the separator boundary. AI assistance was used for investigation, 
implementation and verification.
   
   ### How Did You Test This Change?
   
   Linux ECS, JDK 21 / Maven 3.9.14, based on 
`c34535db0819d02f68e50a856cb3d2614f0dc5dd`. Commands run from `server/` with 
the existing Maven dependency cache and mirror:
   
   - RED: restore the base `NotificationOutboxService.java` and run `mvn -B 
-ntp -Dtest=NotificationEmailRecipientsTest test`: 16 cases, 7 assertion 
failures, 0 errors. The failures exercise separators inside comments and 
interaction with quotes/escapes.
   - GREEN: restore the fix and run `mvn -B -ntp 
-Dtest=NotificationEmailRecipientsTest,NotificationOutboxServiceTest,NotificationWebhookEncodingTest
 test`: 62 tests, 0 failures/errors/skips. Includes 12 valid-address cases and 
4 invalid-input cases; assertions check final recipients and persisted 
delivery/retry status.
   - `mvn -B -ntp clean package -DskipTests`: passed, including Checkstyle, 
compilation of all main/test sources and the packaged dependency license gate.
   - `git diff --check`: passed.
   
   Mail/DB dependencies are mocked; no real SMTP service, MySQL or Broker was 
contacted. The full backend test suite is left to CI; these local checks do not 
claim to run it.
   
   ### Checklist
   
   - [x] One coherent change
   - [x] Conventional Commit subject
   - [x] Regression tests named `...Test`
   - [x] No UI text changes
   - [x] New source carries the ASF header
   - [x] Related configuration documentation updated
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to