From 98559005a2412a686ea3631b12235d0e24b9a1c3 Mon Sep 17 00:00:00 2001 From: ZeldaZach Date: Fri, 7 Nov 2025 13:22:48 -0500 Subject: [PATCH] Strip dashes in Yahoo addresses --- servatrice/src/email_parser.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/servatrice/src/email_parser.cpp b/servatrice/src/email_parser.cpp index ebb9cece3..2be0f32be 100644 --- a/servatrice/src/email_parser.cpp +++ b/servatrice/src/email_parser.cpp @@ -25,10 +25,9 @@ QPair EmailParser::parseEmailAddress(const QString &dirtyEmail // Trim out dots and pluses from Google/Gmail domains if (capturedEmailAddressDomain.toLower() == "gmail.com") { - // Remove all content after first plus sign (as unnecessary with gmail) + // Remove all content after the first plus sign (as unnecessary with gmail) // https://gmail.googleblog.com/2008/03/2-hidden-ways-to-get-more-from-your.html - const auto firstPlusSign = capturedEmailUser.indexOf("+"); - if (firstPlusSign != -1) { + if (const auto firstPlusSign = capturedEmailUser.indexOf("+"); firstPlusSign != -1) { capturedEmailUser = capturedEmailUser.left(firstPlusSign); } @@ -36,6 +35,12 @@ QPair EmailParser::parseEmailAddress(const QString &dirtyEmail // https://gmail.googleblog.com/2008/03/2-hidden-ways-to-get-more-from-your.html capturedEmailUser.replace(".", ""); } + // Trim out minuses from Yahoo domains + else if (capturedEmailAddressDomain.toLower() == "yahoo.com") { + if (const auto firstMinusSign = capturedEmailUser.indexOf("-"); firstMinusSign != -1) { + capturedEmailUser = capturedEmailUser.left(firstMinusSign); + } + } return {capturedEmailUser, capturedEmailAddressDomain}; }