I don't think you'll get any direct information out of Yahoo! as that would potentially give spammers an edge in the never ending war between the spammers and spam filters.
Have you analysed the headers as received by the Yahoo! account? They might contain some information inserted by the spam filter.
Other than that, contact Yahoo! and explain the situation. They might be able to add your domain onto their white list.
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
If you want to send HTML emails, you need to use a tool that let you write the content of the email yourself instead of relying on WYSIWYG editors. The most part of mail clients doesn't allow this feature, mainly for security reasons.
With web email clients, such as Gmail, Yahoo or Hotmail, you can try to use the WebKit Inspector (in Safari and Chrome) or Firebug to edit the content of the email directly in the DOM, bypassing the interface restrictions. However, your code is likely to be sanitized by the application and it won't work as expected.
The best solution is to send the emails using a programming language (e.g. mail() in PHP or Pony in Ruby), or a mail service designed to handle HTML content such as MadMimi, Mailchimp, Campaign Monitor...