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}; }