Change plain text email into HTML email - html

This is in Magento 1.9.x.
I just edited the contents of a transaction email, added some HTML code into it, but the email is still rendering as plain text.
How do I make that email into a HTML email?
Here is how it looks in Magento:
The email contains HTML tags, but it's template type is Text.
I cannot find anywhere to either (a) change this template type to HTML OR (b) create a new HTML template.
This is the email content:
<body>
<img alt="Flamefast" src="http://www.flamefast-gas-safety.co.uk/skin/frontend/default/gas-safety/images/logo.png" />
<h1>Web Enquiry Form</h1>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td>Name:</td><td>{{var data.name}}</td>
</tr>
<tr>
<td>Email:</td><td>{{var data.email}}</td>
</tr>
<tr>
<td>Telephone:</td><td>{{var data.telephone}}</td>
</tr>
<tr>
<td>Company:</td><td>{{var data.company}}</td>
</tr>
<tr>
<td>Interested in:</td><td>{{var data.interest}}</td>
</tr>
<tr>
<td>Quote Required:</td><td>{{var data.request_quote}}</td>
</tr>
<tr>
<td>Info Required:</td><td>{{var data.request_info}}</td>
</tr>
<tr>
<td>Call-back Required:</td><td>{{var data.request_callback}}</td>
</tr>
<tr>
<td>Message:</td><td>{{var data.comment}}</td>
</tr>
</table>
</body>
And this is what it looks like in my email client. None of the HTML is being rendered. My problem here is I cant find anything in Magento's Admin Panel that could create a HTML email or change this to a HTML email.
Can anyone help?

your template type is text beacuse you are using contact email as in your screen shot , it is by default in text format, you have to create an email template as below
1.click on add new template button .
2. Do not load contact email template.
3. Load any one else if you want otherwise.
4. write template name, subject and paste your html in content area and save
thanks!

Related

Html button in message to create another message

I need to create a button on the email message (Outlook) to replicate the existing message and allow me to forward it to the next person. I would need this to keep tracking emails. The flow would need to look like that:
The requester sends an email with a button to forward --> Doer will send email to the reviewer via clicking button --> Reviewer will send the email back to the requester via clicking button.
Each time the button would need to contain a code that would allow such tracking - for example, adding "DOER" and "REVIEWER" in the subject, respectively.
The problem I have (as I'm not a programmer) is that I know how to create a message with HTML, and I know how to insert a simple button into such a message. What I have no idea how to do, is putting such code of HTML email into this button code. I keep failing, unfortunately.
What I have is standard email body:
<p style="color:black;font-size:17px;font-family:calibri;">
<style> table, th, td {border: 1px solid black; border-collapse: collapse;}
</style>
Hi <b>John,</b> <br /> <br /> Please review price for:<br /><br/>
<table style="width:100%">
<tr>
<th>Country</th>
<th>XXCode</th>
<th>XXLevel</th>
<th>XXTitle</th>
<th>XXFamily</th>
<th>XXCut</th>
<th>XXMatch</th>
<th>XXGrade</th>
<th>XXXMatch</th>
<th>XXXGrade</th>
</tr>
<tr>
<td rowspan ="16">BRAZIL</td>
</tr>
<tr>
<td>10000XXX</td>
<td>B</td>
<td>Logistics</td>
<td>Supply</td>
<td>General</td>
<td>ASCXXX</td>
<td>7 | 8</td>
<td>SCNXXXXX</td>
<td>43 | 44 | 45 | 46</td>
</tr>
<tr>
</table><br /><br /> The deadline for this task is:
<span style="background-color:yellow">26-8-2021, 10:16</span> <br /><br />
After the task is done- please send a message to <a href=>#Anna, Jolen</a> for review.<br /><br />Thank you,<br /></p></p>
Button:
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" style="border-radius: 5px; background-color: #733658;">
DOER'S RESPONSE &rarrhk;
</td>
</tr>
</table>
```
Many thanks,AM
Outlook doesn't support form's controls, nor allowing to run scripts on the message body for security reasons. You may consider developing an add-in for Outlook instead. It can be a COM add-in (VSTO) or web-based one to support multiple platforms.

how to prevent email clients add my images as attachments

I am creating an html email template that will hopefully show on mostly used desktop and web email clients (such as Outlook, Gmail or Yahoo).
I'm having a hard time on doing an html email template where my images are being considered as attachments. I'm assuming it's possible to not show them as attachments since most websites that I am subscribed of such as Pinterest, they have images on their html email templates, but it doesn't show them as attachments too.
Here's a code I am testing
<table align="center">
<tbody>
<tr>
<td>
<table>
<tbody>
<tr>
<td>
<img src="#web/mail/img/email-for-first-users-header.jpg" style="width:auto; height: auto; border-style: none; display: block;"/></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table>
<tbody>
<tr>
<td>
<h2>Hi, non-user's name!</h2>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
What I basically want to achieve is that, the email clients will not add my images on the attachments area.
Embedding an image in an email first requires that you have a version of said image as a base64 encoded string. Once your image is encoded, jump into your template, or whatever HTML you’re sending out, and embed it using a standard HTML image tag:
<img alt="My Image" src="data:image/jpeg;base64,/9j/4S/+RXhpZgAATU0AKgAAAAgACAESAAMAENkDZ5u8/61a+X...more encoding" />
Then you’re done! Send away.

How to embed a picture (jpg/png/etc,) into html and email it out with mail

Background: I am trying to my emails html based, as it is more versatile (I am new to html). I have been playing around with html for a few hours. I can so far embed tables, and different headings and links etc. into the emails that I send out, but have massive difficulty with embedding pictures.
I thought it might a client specific problem - but Hotmail, Outlook and G-mail all don't show the attached image. All I see is the the box with the alt (alternative) text.
#!/bin/bash
h_test=mytest.html
echo "This is a test email"> TESTEMAILTESTEMAILTESTEMAIL.txt
echo "<html>
<head>
<title>HTML E-mail</title>
</head>
<body>
<p><b>Note:</b> This is just a test email.</p>
<p>Trying to do different things all in one email.</p>
<h2>Table 1</h2>
<table style="width:25%">
<tr>
<td>New York</td>
<td>UNITED STATE OF AMERICA</td>
</tr>
<tr>
<td>Sydney</td>
<td>AUSTRALIA</td>
</tr>
<tr>
<td>Istanbul</td>
<td>TURKEY</td>
</tr>
</table>
<h2>Table 2</h2>
<table border="1"; style="width:50%">
<tr>
<th>Month</th>
<th>Savings</th>
</tr>
<tr>
<td>January</td>
<td>$100</td>
</tr>
<tr>
<td>February</td>
<td>$80</td>
</tr>
</table>
<h2>Image 1</h2>
<img src='https://www.google.com.au/search?q=image+test&espv=2&biw=1366&bih=663&source=lnms&tbm=isch&sa=X&ved=0CAYQ_AUoAWoVChMI1_fn1MrNyAIVITamCh32cQej#imgrc=driDe9TNSAxoAM%3A' alt='You should be seeing a picture'>
<h2>Link</h2>
<a href='http://www.google.com'>Click Here</a>
</body>
</html>" > $h_test
echo ">> Sending email..."
`mail -s "$(echo -e "This is Subject\nContent-Type: text/html")" my_email#me.com < mytest.html`
echo "...e-mail sent"
Research: I have looked at websites such as this site, but didn't work. I have also looked up similiar questions on stackexchange but couldn't make it work.
Q: How can I embed pictures into my emails?
You can embed images in the html it self,base64-encoded, like this:
<img src="data:image/png;base64,iVBORw0KGg....." />
Look for example at this site to generate the base64 endoding: http://dataurl.net/#dataurlmaker
Update:
I have now learned that this does not work in all email-clients:
Some examples:
iOS Mail Yes
Outlook 2003 Yes
Outlook 2007+ No
Apple Mail Yes
Yahoo! Mail No
Gmail No
Android default Yes
from this link https://www.campaignmonitor.com/blog/email-marketing/2013/02/embedded-images-in-html-email/
You are using the URL https://www.google.com.au/search?q=image+test&espv=2&biw=1366&bih=663&source=lnms&tbm=isch&sa=X&ved=0CAYQ_AUoAWoVChMI1_fn1MrNyAIVITamCh32cQej#imgrc=driDe9TNSAxoAM%3A which is the URL to an HTML document.
You need to use the URL to an image!
Note that most email clients will prompt users before displaying images on external URLs.
You can avoid this by attaching the image (i.e. sending a multipart MIME email) and then using the cid: URL scheme to point to the attachment.
Alternatively, you can convert the image to a data: URL scheme and embed it directly in the URL.

Email HTML signature adds blank HTML elements on web clients, causing layout to break

I've been trying to fix this for a few hours already, and I just can't seem to find the problem.
I have this HTML email signature that has to wrap properly on low resolution devices.
This is a mockup with how it should look on large-screen devices:
And this is a mockup with how it should look on small-screen devices:
This is the markup:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<table width="100%">
<tr>
<td>
<!-- TEXT CELL -->
<table align=left width=160>
<tr>
<td>
<p>
<span style='font-size:12.0pt;font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman"'>sep</span>
</p>
</td>
</tr>
</table>
<!-- TEXT CELL -->
<table align=left width=160>
<tr>
<td>
<p>
<span style='font-size:12.0pt;font-family:"Times New Roman","serif";
mso-fareast-font-family:"Times New Roman"'>ult</span>
</p>
</td>
</tr>
</table>
<!-- TEXT CELL -->
<table align=left width=160>
<tr>
<td>
<p>
<span style='font-size:12.0pt;font-family:"Times New Roman","serif";
mso-fareast-font-family:"Times New Roman"'>tur</span>
</p>
</td>
</tr>
</table>
<!-- TEXT CELL -->
<table align=left width=160>
<tr>
<td>
<p>
<span style='font-size:12.0pt;font-family:"Times New Roman","serif";
mso-fareast-font-family:"Times New Roman"'>ura</span>
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
The problem is with the web clients. For some reason, there's always an extra HTML element appended next to each one of those 4 tables:
And these are the results:
MS Outlook 2007 (properly displayed):
Apple GMail client (properly displayed and wrapped, since it's small-resolution screen):
Outlook web (there's an extra HTML element that breaks the layout, details in the pic):
GMail web (somehow similar to the Outlook web):
I'd also like to mention that I tested these with Litmus and all looked good. I'm not sure why things are different in these let's say "real-world" situations.
Could be related to my process of putting the HTML signature:
Open the HTML page containing the signature
Select all the content within that page (ctrl+A)
Copy all the content (ctrl+C)
Open MS Outlook 2007
go to Tools -> Options -> Mail Format -> Signatures
New signature -> Paste the content into the textarea -> Save the newly created signature.
I'm pretty confident what you are asking for can not be done in Outlook '07 in a signature.
This is because Outlook '07/'10/'13 use the Microsoft Word engine and add their own junk after send (the p msoNormal tags). Because it is added after send, you can not use inline CSS. In html email design, often designers will add styles to the style tag to zero out these unwanted tags in anticipation of Outlook doing it's thing. This wouldn't work for you because you are are using a signature only. You can try including a <style> tag in the signature html, but I'm doubtful it would work.
The best suggestion I have to mimic this kind of behavior is with . Very hack way, but it may be the only option you have for "floating" if sending from Outlook '07. Example:
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
Text 1
Text 2
Text 3
Text 4
</td>
</tr>
</table>
Something like this might also work, (definitely a lot neater) but I haven't tested it:
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<span style="width:150px;">Text 1</span>
<span style="width:150px;">Text 2</span>
<span style="width:150px;">Text 3</span>
<span style="width:150px;">Text 4</span>
</td>
</tr>
</table>
You could easily accomplish that layout using a single <table> and making each of those items a column, instead of having 4 separate <table> elements.
Make sure your CSS is all inline, and try to use tables for layout as much as possible (HTML e-mails is the only time this advice is acceptable). Additionally, try to only use CSS that is compatible with Outlook.com. Note that Outlook.com actually replaces some of your HTML with its own and takes any inline CSS and replaces that with a class/id that it places in its stylesheet at the top of the converted e-mail (hence the .ExternalClass resets).
Also, you may want to look at the Mailchimp reset, for fixing various issues encountered with e-mail providers such as Outlook.com.

Embed PNG Encoded in System.Net.Mail HTML Message

Let's assume that I'm already sending email messages and all that is working OK. I'm trying to embed a Base64 img in the HTML for a system.net.mail message inline and it's not working. It shows everything and the source on the email has the image embedded but it's not showing.
<html>
<table>
<tr>
<td>Name:</td>
<td>Ralph Wiggums</td>
</tr>
<tr>
<td><img src="data:image/png;base64,iVBORw0KGg...deleted for size sake...ErkJggg=="></td>
</tr>
</table>
</html>