diff --git a/src/extensions/ua-parser-extensions.js b/src/extensions/ua-parser-extensions.js index 345c882..d89b7ec 100644 --- a/src/extensions/ua-parser-extensions.js +++ b/src/extensions/ua-parser-extensions.js @@ -212,9 +212,18 @@ const ExtraDevices = Object.freeze({ const Emails = Object.freeze({ browser : [ [ - // Evolution / Kontact/KMail / [Microsoft/Mac] Outlook / Thunderbird - /(airmail|bluemail|emclient|evolution|foxmail|kmail2?|kontact|(?:microsoft |mac)?outlook(?:-express)?|navermailapp|(?!chrom.+)sparrow|thunderbird|yahoo)(?:m.+ail; |[\/ ])([\w\.]+)/i - ], [NAME, VERSION, [TYPE, EMAIL]] + // Evolution / Kontact/KMail[2] / [Microsoft/Mac] Outlook / Thunderbird + // Airmail / BlueMail / DaumMail / eMClient / Foxmail / NaverMailApp / Polymail + // ProtonMail / SparkDesktop / Sparrow / Yahoo! Mail / Zimbra / ZohoMail-Desktop + /((?:air|blue|daum|fox|poly|proton)mail|emclient|evolution|kmail2?|kontact|(?:microsoft |mac)?outlook(?:-express)?|navermailapp|(?!chrom.+)sparrow|sparkdesktop|thunderbird|yahoo|zohomail-desktop)(?:m.+ail; |[\/ ])([\w\.]+)/i, + + // Apple's Mail + /(mail)\/([\w\.]+) cf/i + ], [NAME, VERSION, [TYPE, EMAIL]], [ + + // Zimbra + /zdesktop\/([\w\.]+)/i + ], [VERSION, [NAME, 'Zimbra'], [TYPE, EMAIL]] ] }); diff --git a/test/data/ua/extension/email.json b/test/data/ua/extension/email.json index 27fbce5..8acd5d4 100644 --- a/test/data/ua/extension/email.json +++ b/test/data/ua/extension/email.json @@ -9,6 +9,16 @@ "type" : "email" } }, + { + "desc" : "Apple Mail", + "ua" : "Mail/3826.500.181.1.5 CFNetwork/3826.500.111.1.1 Darwin/24.4.0", + "expect" : + { + "name" : "Mail", + "version" : "3826.500.181.1.5", + "type" : "email" + } + }, { "desc" : "BlueMail", "ua" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) BlueMail/0.10.31 Chrome/61.0.3163.100 Electron/2.0.18 Safari/537.36", @@ -29,6 +39,16 @@ "type" : "email" } }, + { + "desc" : "DaumMail", + "ua" : "DaumMobileApp (LG-KU5400; U; Android 2.3.7|10; ko-kr) DaumMail/1.0.8 ", + "expect" : + { + "name" : "DaumMail", + "version" : "1.0.8", + "type" : "email" + } + }, { "desc" : "Evolution", "ua" : "Evolution/3.52.3", @@ -119,6 +139,36 @@ "type" : "email" } }, + { + "desc" : "Polymail", + "ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Polymail/2.3.12 Chrome/114.0.5735.134 Electron/25.2.0 Safari/537.36", + "expect" : + { + "name" : "Polymail", + "version" : "2.3.12", + "type" : "email" + } + }, + { + "desc" : "ProtonMail", + "ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) ProtonMail/1.4.0 Chrome/122.0.6261.156 Electron/29.4.6 Safari/537.36", + "expect" : + { + "name" : "ProtonMail", + "version" : "1.4.0", + "type" : "email" + } + }, + { + "desc" : "SparkDesktop", + "ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) SparkDesktop/3.0.30 Chrome/102.0.5005.63 Electron/19.0.4 Safari/537.36", + "expect" : + { + "name" : "SparkDesktop", + "version" : "3.0.30", + "type" : "email" + } + }, { "desc" : "Sparrow", "ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/604.5.6 (KHTML, like Gecko) Sparrow/1043.1", @@ -158,5 +208,25 @@ "version" : "1.3.10", "type" : "email" } + }, + { + "desc" : "Zimbra", + "ua" : "Mozilla/5.0 (Windows; U; Windows NT 6.2; it; rv:1.9.2.19pre) Gecko/20110902 Prism zdesktop/7.2.8", + "expect" : + { + "name" : "Zimbra", + "version" : "7.2.8", + "type" : "email" + } + }, + { + "desc" : "ZohoMail", + "ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) ZohoMail-Desktop/1.6.3 Chrome/124.0.6367.207 Electron/30.0.6 Safari/537.36", + "expect" : + { + "name" : "ZohoMail-Desktop", + "version" : "1.6.3", + "type" : "email" + } } ]