Update 2019-07-15:
The gmail-fixed-font
extension is now hosted on github: https://github.com/jparise/gmail-fixed-font
The instructions are provided in the repo README, but to summarise (assuming you are using Chrome):
- Download the script
- Open a new tab and navigate to
chrome://extensions/
- Enable Developer Mode
- Drag and drop the script onto the window and install
- (optional) you may want to allow the extension only for the gmail domain by clicking Details > Site Access: On specific sites and enter
https://mail.google.com
in the dialogue box and save
Ok, you have to try Gmail Fixed Font userscript
// ==UserScript==
// @name Gmail Fixed Font
// @namespace http://www.indelible.org/
// @description Fixed-font message bodies for Gmail
// @author Jon Parise, James Tunnicliffe
// @version 1.3
// @include http://mail.google.com/*
// @include https://mail.google.com/*
// @include http://*.mail.google.com/*
// @include https://*.mail.google.com/*
// @grant GM_addStyle
// ==/UserScript==
// Plain-text Message Body
var css = ".ii, .Ak { font: medium monospace !important; }";
// Compose Interface
css += ".editable { font: medium monospace !important; }";
if (typeof GM_addStyle != "undefined") {
GM_addStyle(css);
} else if (typeof addStyle != "undefined") {
addStyle(css);
} else {
var heads = document.getElementsByTagName("head");
if (heads.length > 0) {
var node = document.createElement("style");
node.type = "text/css";
node.appendChild(document.createTextNode(css));
heads[0].appendChild(node);
}
}
In Gmail, I think your only option is to click the arrow on the top right of the message, and then choose "Show Original".
The message is most likely to be sent in MIME format, so you can scroll down past the headers and look for something like this: Content-Type: text/plain
. In MIME format, there are unique strings (boundaries) between each message part, I believe that each email client chooses its own string to use. You can find out what is being used if you locate the following header:
Content-Type: multipart/alternative;
boundary="-----------=Sample_Msg_Part156165161321654"
In this case, the string -----------=Sample_Msg_Part156165161321654
is used to delimit the different message parts.
Here's an example...
Let's say that the message has the following content:
From: user@example.com
To: user@example.com
Subject: Test
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="-----------=Sample_Msg_Part156165161321654"
-----------=Sample_Msg_Part156165161321654
Content-Type: text/plain
This is a sample message. This is the text portion of
the message.
-----------=Sample_Msg_Part156165161321654
Content-Type: text/html
This is a sample message. This is the <b>html</b> portion
of the message.
-----------=Sample_Msg_Part156165161321654
... the plain text would look like this:
This is a sample message. This is the text portion of the message.
... while the HTML would look like this:
This is a sample message. This is the html portion
of the message.
Best Answer
Unfortunately, you can't. There have been themes in the past (notably "Terminal") which used a fixed-width font, but even then the messages were still rich text/HTML.
If you want to see a message in its plain-text glory, all you can do is "show original" from the message menu. That'll give you the raw email including headers.
You can compose/send messages as plain text, but that's not what you're asking.