From 22558e2948065c771023e90b4adf86b31a959e50 Mon Sep 17 00:00:00 2001 From: saturneric Date: Thu, 28 Nov 2024 09:25:22 +0100 Subject: refactor: improve code structure --- src/m_email/EMAilHelper.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/m_email/EMAilHelper.cpp') diff --git a/src/m_email/EMAilHelper.cpp b/src/m_email/EMAilHelper.cpp index ff544ab..7d19dad 100644 --- a/src/m_email/EMAilHelper.cpp +++ b/src/m_email/EMAilHelper.cpp @@ -32,6 +32,9 @@ #include "GFModuleCommonUtils.hpp" +static const QRegularExpression kNameEmailStringRegex{ + R"(^\s*(.*)\s*<\s*([^<>@\s]+@[^<>@\s]+)\s*>\s*$)"}; + auto IsValidMicalgFormat(const QString& prm_micalg_value) -> bool { QRegularExpression regex("^pgp-(\\w+)$"); QRegularExpressionMatch match = regex.match(prm_micalg_value); @@ -152,3 +155,16 @@ auto ExtractFieldValueDateTime(const vmime::shared_ptr& header, return datetime; } + +auto ParseEmailString(const QString& input, QString& name, + QString& email) -> bool { + QRegularExpressionMatch match = kNameEmailStringRegex.match(input); + + if (match.hasMatch()) { + name = match.captured(1).trimmed(); + email = match.captured(2).trimmed(); + return true; + } + + return false; +} \ No newline at end of file -- cgit v1.2.3