--- comm/mailnews/compose/src/nsMsgCompUtils.cpp 2021-03-01 21:18:23.000000000 +0300
+++ comm/mailnews/compose/src/nsMsgCompUtils.cpp-OK 2021-03-10 16:50:06.512246623 +0300
@@ -357,18 +357,31 @@ nsresult mime_generate_headers(nsIMsgCom
finalHeaders->SetRawHeader(HEADER_X_MOZILLA_DRAFT_INFO, draftInfo, nullptr);
}
nsCOMPtr<nsIHttpProtocolHandler> pHTTPHandler = do_GetService(NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "http", &rv);
if (NS_SUCCEEDED(rv) && pHTTPHandler)
{
nsAutoCString userAgentString;
- // Ignore error since we're testing the return value.
- mozilla::Unused << pHTTPHandler->GetUserAgent(userAgentString);
+
+ // allow a user to override the default UA
+ // an empty string value drops UA header
+
+ nsCString userAgentOverride;
+ rv = prefs->GetCharPref("mailnews.useragent.override", userAgentOverride);
+
+ if (NS_SUCCEEDED(rv))
+ userAgentString = userAgentOverride;
+ else {
+ // Ignore error since we're testing the return value.
+ mozilla::Unused << pHTTPHandler->GetUserAgent(userAgentString);
+ // Properly advertise compatibility (if any).
+ userAgentString.ReplaceSubstring("Firefox", "Thunderbird");
+ }
if (!userAgentString.IsEmpty())
finalHeaders->SetUnstructuredHeader("User-Agent",
NS_ConvertUTF8toUTF16(userAgentString));
}
finalHeaders->SetUnstructuredHeader("MIME-Version", NS_LITERAL_STRING("1.0"));