After decoding the message payload, gmailr could extract the charset from the Content-Type header. By default on the web, this is iso-8859-1, which R calls "latin1". That could be set on the string, e.g.,
But then again, I'm not sure where that actually helps, since R always displays and writes strings in the current locale, so things get weird.