472,790 Members | 3,024 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes and contribute your articles to a community of 472,790 developers and data experts.

Quick way to send HTML Emails in Apple Mail (Mail.app)

digicrowd
4 Nibble


You can make your emails fancy in Mail.app by using Rich Text formatting or even included Stationery. But, a simple way to send your own HTML creation (or any web page for that matter) is to use Safari. Follow these four easy steps.

1. Create the HTML
Layout your HTML code including any images or graphics you'd like to include. In this example, we will make a simple birthday email to add some spice to Dan's inbox for his birthday. We will use a clipart of balloons to give it that birthday fun. Save the html as "myemail.html" for this example.
Expand|Select|Wrap|Line Numbers
  1. <center><div style="display: inline-block; width: 300px; height: 100px; border: 10px dashed #F31A00; margin: 15px; padding: 10px; font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif; color: #337099;  background-color: #F2F100;">
  2. <center><span style="font-weight: bold; font-size: 20px;">Happy Birthday Dan!</span><br /><br /><span style="font-weight: normal; font-size: 18px;">Hope It Is Grand!</span><br /><br /><span style="font-size: 14px;">Love, Aunt Sue.</span></center></div><br /><img src="balloons.png"></center>
  3.  
2. Test out the HTML
Open "myemail.html" in Safari. File -> Open File... or simply drag the saved filed to the Safari application icon or any open Safari browser window. This will allow you to preview what you are wanting to send via email.
3. Into the new message window
If you are happy with what you have and you don't have any images to include, then simple press "command-i" and the web page will be placed directly in a New Message window in Mail.app. If you do have images to include, do a Edit -> Select All (command-a) and then paste it into a New Message window in Mail.app. This will embed an images directly into the email.
4. Send It Out!
Complete who your sending it to and add a subject "Happy Birthday!" and send it off! You can easily send the email to yourself to test it out to make sure it works as you so desired.

Hot Tip: You can do this with any internet web page. Instead of sending someone a link a certain web page, you can just send them the whole page. Give it a try. If you're in Safari, "command-i" this page and send it off to someone.
Jul 31 '08 #1
3 99446
This is good in theory but in practice has a number of limitations related to html emails. In most email readers:

CSS in head <style>...</style> is ignored.
Layers <div>...</div> do not display correctly.
In-line CSS not tied to a handful of tags (in table tags for example) do not work correctly or consistently.
Javascript is not functional.
Form elements are stripped out or modified to display horribly.

With all that in mind, html created for emails must be far simpler than the techniques used in modern Web pages. If you care about the formatting, send it to yourself before sending it to someone else, and don't send it to your email account used for Apple Mail. Apple Mail has one of the best html rendering engines out there, but since most folks do not use it, you can't rely on how it looks in Mail as any indication of how it will look in Outlook, Yahoo, Google, etc.

$.02
Aug 1 '08 #2
pbmods
5,821 Expert 4TB
I maintain the web email system where I work. Here are some observations I have noticed, esp. wrt the previous comment:

CSS in head <style>...</style> is ignored.
This is true, especially in GMail. I know it violates XHTML standards, but you'll need to put your CSS styles in the <body>, and if you can make your CSS inline, that is generally more reliable.

Layers <div>...</div> do not display correctly.
I'm not so sure about that. There are quirks, especially in Outlook '07 (uses the MS Word rendering engine (http://www.campaignmonitor.com/blog/..._design_b.html):
  • Background colors are not applied correctly.
  • Percentage widths are calculated relative to the document, not the parent element.
  • Float doesn't work. At all.

But on the whole, a div displays exactly as you would expect a block-level element to display: with a line break immediately before and after it and 100% width.

In-line CSS not tied to a handful of tags (in table tags for example) do not work correctly or consistently.
This is mainly a problem with Outlook '07 (note: not Outlook '03). Apple's Mail.app, for example, uses Webkit, so everything works the same as it would in Safari.

Javascript is not functional.
This is true of all email clients, presumably as a security precaution.

Form elements are stripped out or modified to display horribly.
This is also true of most email clients. It's generally not a good practice to put a form in an email anyway; it's an email message, not a webpage.

With all that in mind, html created for emails must be far simpler than the techniques used in modern Web pages. If you care about the formatting, send it to yourself before sending it to someone else, and don't send it to your email account used for Apple Mail. Apple Mail has one of the best html rendering engines out there, but since most folks do not use it, you can't rely on how it looks in Mail as any indication of how it will look in Outlook, Yahoo, Google, etc.
This is good advice. You especially want to make sure you test the following clients:
  • Microsoft Outlook 2003
  • Microsoft Outlook 2007 (uses a completely different rendering engine than '03)
  • Apple Mail.app
  • AOL (desktop and web apps)
  • Microsoft Outlook Web Access
  • GMail (quirky about images; use good alt attributes!)
  • Yahoo! Mail

For the web-based email clients, be sure to preview your email using different browsers as well.

I've tested emails in about 20 other clients (Eudora, SquirrelMail, others), and they generally render similarly to Outlook '03.
Sep 19 '08 #3
What app would one use to layout the html and save it as a .html file? I know, I know, I win the prize of the dumbest question ever.
Jul 31 '10 #4

Sign in to post your reply or Sign up for a free account.

Similar topics

1
by: dan glenn | last post by:
I'm creating HTML emails from a PHP site and sending them out to an email list (just about 40 people so far are on this list). I've tested and confirmed that these emails work in yahoo.com's...
2
by: Damien | last post by:
Hi to all, After hours of attempts and "googling", I'm still pulling my hair off my head when I try to send multipart html emails. It "works" on PCs with Outlook when I juste send a single...
8
by: John | last post by:
Hi I am using the following code to send html emails via outlook. objOutlook = CreateObject("Outlook.Application") objOutlookMsg = objOutlook.CreateItem(Outlook.OlItemType.olMailItem) fso =...
12
by: Dave G | last post by:
Apologies if this has been covered before - I couldn't find it. I currently use ASPEmail to create and send HTML emails from an Access database. The text is personalised and includes embedded...
21
by: maya | last post by:
hi, I'm designing an HTML email for a client.. I know general guidelines (no CSS, no JavaScript... although I do use limited CSS, inside tags (as in <span style=".."we do this at work and it...
0
by: ja | last post by:
To explain: I want to send HTML email from windows.forms app. I need to have textual templates which could be used for changing email bodies. Is it possible to use ASP.NET controls to achieve...
3
by: CJM | last post by:
David, Thanks for the reply. Responses inline: "David E. Ross" <nobody@nowhere.notwrote in message news:OZadnaBdOMGpYb3VnZ2dnUVZ_vOdnZ2d@softcom.net... This is a promotional mailshot so...
0
by: kronus | last post by:
Hey everyone, I am stumped once more and you guys have always helped in one way or the other. I am just now starting to fool around with using PEAR to send html emails. Following the sample...
19
rahulephp
by: rahulephp | last post by:
Hi there, I tried a lot to send HTML code using php mail fuction, but when email sent, it showing all html tags (including style property as well). Can you please let me know any script to send...
0
by: Rina0 | last post by:
Cybersecurity engineering is a specialized field that focuses on the design, development, and implementation of systems, processes, and technologies that protect against cyber threats and...
0
by: erikbower65 | last post by:
Using CodiumAI's pr-agent is simple and powerful. Follow these steps: 1. Install CodiumAI CLI: Ensure Node.js is installed, then run 'npm install -g codiumai' in the terminal. 2. Connect to...
0
by: erikbower65 | last post by:
Here's a concise step-by-step guide for manually installing IntelliJ IDEA: 1. Download: Visit the official JetBrains website and download the IntelliJ IDEA Community or Ultimate edition based on...
0
by: Taofi | last post by:
I try to insert a new record but the error message says the number of query names and destination fields are not the same This are my field names ID, Budgeted, Actual, Status and Differences ...
14
DJRhino1175
by: DJRhino1175 | last post by:
When I run this code I get an error, its Run-time error# 424 Object required...This is my first attempt at doing something like this. I test the entire code and it worked until I added this - If...
0
by: Rina0 | last post by:
I am looking for a Python code to find the longest common subsequence of two strings. I found this blog post that describes the length of longest common subsequence problem and provides a solution in...
5
by: DJRhino | last post by:
Private Sub CboDrawingID_BeforeUpdate(Cancel As Integer) If = 310029923 Or 310030138 Or 310030152 Or 310030346 Or 310030348 Or _ 310030356 Or 310030359 Or 310030362 Or...
0
by: lllomh | last post by:
Define the method first this.state = { buttonBackgroundColor: 'green', isBlinking: false, // A new status is added to identify whether the button is blinking or not } autoStart=()=>{
0
by: lllomh | last post by:
How does React native implement an English player?

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.