diff options
Diffstat (limited to 'src/m_email/EMAilHelper.cpp')
-rw-r--r-- | src/m_email/EMAilHelper.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
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<vmime::header>& 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 |