The purpose of this site to provide additional examples and tutorials for what is found at JangoMail.com.
Here are some fairly common questions:
How do I get started?
How do I use images?
How do I upload a list?
How do I upload my own HTML source code?
How do I use CSS in my message?
How do I use personalization?
What is the difference between JangoMail and JangoSMTP?
How do I edit/change the CAN-SPAM footer?
How do I remove a bounced or unsubscribed address?
How do I send an SMS message?
How do I send a transactional message that uses conditional logic?
The best practice for using an image in your message/campaign is to provide a public path to the image as opposed to embedding the image.
When you provide a source, or more precisely, a path, for your image, the only requirement is that the image is publicly accessible. In terms of HTML and the image tag (“img”), you should be able to take the URL value for the “src” attribute, paste the path into a browser, and see the image.
For example, let’s say I want to include an image of part of the JangoMail home page in a message (and sized down a bit to fit within my message). The image by itself looks like this:
The actual path to the image is:
You can take that path, paste it into a browser, and see the same thing.
The image within your message has to “live” somewhere, and you can host it with us for free within your JangoMail/JangoSMTP account. Go to Assets, click Add New Item, find your file, and upload it.
Choose the file to upload:
Start the upload:
When the upload is finished:
Now that your image (or images, you can certainly use more than one in your message) is uploaded and ready to be referenced in your message, insert the image via the HTML editor:
In this popup window (Insert/edit image window), click in the “Image list” list of values field:
Find and click on your image in the list, then click Insert to insert the image into your message:
In the editor, you should be able to see your image:
Click on the HTML menu button in the editor and you can see your source code in the popup window.
<p><img title=”image_via_href_example.png” src=”https://img.jangomail.com/Clients/832833/Images/image_via_href_example.png” alt=”image_via_href_example.png” width=”380″ height=”285″ /></p>
Assuming you’ve made all other edits to your message, such as centering things, adding text, and so on, and you’ve sent the message, your recipients will see the image in their message via this part of the code behind your message:
The delivered message using a linked source (i.e., not embedded) looks like this:
The same message sent with an embedded image looks like this:
Note that the image appears without having to click “Download pictures” in my Outlook client (Outlook being a good example of an email client that will automatically block images for you if you want). But also note that in reports, the spam score for what is essentially the same message is more than double the recommended way of including images:
And for the message size comparison, the recommended approach versus embedding, the embedded version is more than 40 times larger, and that’s just based on using one image:
To drive home this point, let’s say my message has 10 images in it, which is not out of the ordinary. Using the same image, the message size comparison becomes even greater:
Bottom line: when using embedded images, you may have your message open with images showing right away, but the price you pay is having used much more data transfer, having a higher spam score, and running the risk of your message being marked as spam and not being delivered to a recipient’s inbox.
Here is a short example (including some tips) of using a file and list, plus we have a guide here.
The first step is to create the list in your JangoMail account. Go to Lists and click Create New List.
Name the list with some useful words. A list name of “Chicago Customers” is obviously much more understandable than “List X432.” With your list name, you can have more than word, just separate them by spaces. Assuming you want to include first name, last name, and last 4 of an account number fields, you’ll have to add the fields to your list (you get emailaddress by default).
If you need to add more than one new field (your list has 10 columns, as an example), it is quicker to click the “Add New Field” icon 10 times (wait for each field to be added), and then go edit each one to rename NewField, NewField1, etc. to the names you want to use (for example, FirstName, LastName, Address1, and so on).
I use a field naming convention of “init cap” for each word, and field names are only one word (no spaces in them, and the words are combined if need be). I would name a “first name” field as FirstName, “last name” as LastName, a company name as CompanyName, city as City, etc.
As a tip, don’t upload columns you are not going to need or use in your campaign. If your original data file has 10 columns, but all you care about are the email address and first name columns, then save a copy of the file with just those two columns (no need to spend time creating fields in your list when you’re never going to be using them). Even better, when you save your file, put the email address in the first column. When a list is created in your JangoMail account, emailaddress is the first field by default. If your file’s column order matches your list’s field order, a lot of what follows next does not apply to you.
In the example below, note that the order is: emailaddress, lastname, firstname, and last4. But, when I created my list in JangoMail, the order is emailaddress, firstname, lastname, and last4. The FirstName and LastName fields need to be switched in their position, either by fixing the Excel file (the csv file I’m going to upload) or by addressing the ordering of the fields when I start the upload in JangoMail. I’ll leave the file as is and adjust the ordering of the columns during the upload process.
Start the process to upload your file. Select your list, click on the Edit icon, select the List Tools tab, then click Import Members. Since I am uploading a file, that’s what I click next.
I’ll use the multiple fields option (uploading more than just email addresses), and click that option.
On the next page showing the fields, you can drag a field from the left to the right, or click the Add All link to move all at once. If you drag one at a time, you can take care of the order then. If you click Add All, you can take care of the ordering as the next step.
With all the fields now added for upload, all I have to do is arrange them in the order for what my list expects. In this case, I need to move LastName up above FirstName.
The correct ordering is now displayed:
The next step is to browse to the file and upload it. There is one little catch though – the first row of my csv file has column headers. That row will be treated as a record, but will be ignored during sending because the record does not contain a valid email address. You can live with this in your list, or just remove the row from your file and not have the clutter in your uploaded list. In this example, I’m going to delete the row and re-save my CSV file so my uploaded list is cleaner, so to speak.
Quick detour – to save an Excel workbook as a CSV file, using Excel 2010 as an example – delete all sheets except for Sheet1, then go to File > Save As.
Then, select the file format as CSV (MS-DOS):
Browse to where the file is, and upload it.
If your list is large, the count shown on the main Lists page may lag behind the count you see when you go into the list via editing. The main lists pages is refreshed about once a minute, so give it time to show your count. However, you can go into the list, and when the number shown there is what you expect to see, your list is ready for use in a campaign.
Advanced feature (optional)
You can also use our FTP feature to upload a list. Start an FTP client, logon with your username and password at ftp://client.jangomail.com, and place the file in the GroupImportsAutoFTP folder. The list will have the same name as the file, and the fields will be the same as the column headers in the file. Place the emailaddress column as the first column in the file. It can take a bit longer to upload a list if using the FTP method because all client FTP areas are continuously scanned for new files, and you will receive an email notification when the list import is complete (if you have notifications turned on in your account settings: Settings > Sending and Receiving > Notification Events).
Let’s say you have an HTML template for your email message that was composed outside of JangoMail. What you are looking for now is a way to get that template into your JangoMail account. You have several options for this.
First, what do you mean by template?
Overall, any email message/campaign you send can be considered a template, so “template” can take on a couple of meanings. A template can be as simple as taking the last message you sent and copying that to start a new one, and you keep repeating that process over and over for subsequent campaigns. In this scenario, your template is the layout/formatting you used in the prior campaign. A template can also be as simple as “this is the HTML message I want to send for a particular campaign, and won’t ever send this message again.” In other words, a template can be the HTML source code for you current message, and you use the terms template and message interchangeably.
Instead of copying the last message over and over, suppose you want to start with an older one and re-use it over and over. You could simply select that older message and copy it to start your new campaign. That older message then serves as your template. Every time you send, you would search for that older message among your messages, and once found, select it to start a new campaign.
As a shortcut to searching for this older message, you can set a message property to have that message saved as a template (within your message, go to the Message Settings tab and switch the “Mark as template” option to Yes).
For example, I have a new message to be marked as a template. Going into the Message Settings tab, I set the “Mark as template” option to Yes.
When starting a new campaign, instead of searching for this older message in your list of past messages, you would now look for it in your saved templates (Messages > Compose New Message > with my Templates).
If you are using our agency setup, where you have a master account and subaccounts, then a message marked as a template at the master account will be visible to your subaccounts.
You can also use our FTP feature to upload a file (includes images, attachments, lists, and HTML files to be used as a template). If you upload an HTML file this way, then when starting a new message, you would select the “with an uploaded Template” option.
Let’s take an example and start from scratch.
Assuming you want to upload your template (the HTML source code) into a new message, start a new blank message, and in the editor you’re using, select the “HTML” menu button (TinyMCE editor) or the “Code” button (EditLive! editor). In the popup window that appears (or when you see actual code appearing if using the EditLive! editor), paste in your HTML code, and then click “Update” to exit the popup window (or click the “Design” button in EditLive!). Your rendered message will then appear in the editor.
Here is my HTML source code created outside of JangoMail:
In JangoMail, while composing a new message, go to the HTML source (or code if using the EditLive! editor, what is shown below is from the TinyMCE editor, which does not require a Jave Runtime Environment) and paste in your HTML source code:
In the popup window, paste in your code and click Update:
Back in JangoMail, you’ll see the rendered version of your HTML source code:
If you want this message to marked as a template, then follow the steps mentioned earlier about marking the message as a template.
***Using FTP to upload images and files (Windows only approach)***
If using the user interface (i.e., you logon to your JangoMail or JangoSMTP account), images (and files used as attachments) can be uploaded via the Assets tab. Go to Assets > click Add New Item, browse for the file, and upload.
If you have more than one image or file, you can also FTP your images, as an example, to your Images folder. You can use an FTP client such as FileZilla, or just use your Windows Explorer (not Internet Explorer; Windows Explorer is what you see/use when viewing My Computer, My Documents, or other folders within that interface).
In the navigation/address field, enter ftp://client.jangomail.com, and when prompted, enter your JangoMail or JangoSMTP username and password. Once you are logged in, you’ll see an Images folder. Open it. Then, in another Explorer window, go to where your images are located on your PC. Select the ones you want to upload and drag them into the other Explorer window (they are not removed from your computer, just copied into the FTP folder).
If you are uploading HTML templates, then the destination folder within your FTP area is the HTMLTemplates folder. If you are uploading attachments, then the destination folder is Attachments.
CSS (cascading style sheets) is a great tool when building a web page. Unfortunately, email support for an inline style sheet (and some CSS elements) is not consistent, so the best way to use CSS – if you’re going to use it at all – is inline. Even then, “too much” CSS can scramble the layout of a message. It’s easy to see an example in Outlook: a message that looks and sends fine within Outlook 2003 can be not so good in 2007, and vice versa. You can see this when trying to wrap text around a picture, or relying on floating margins for placement of objects such as images.
Outlook.com no longer supports the margin CSS property, including margin-top, margin-right, margin-bottom and margin-left. Float support has also been dropped.
As an example, if your desired display of some formatted text is supposed to be this…
|This is text formatted using a style sheet|
…and you are using an inline style sheet with code like this…
<td class=”standardText”>This is text formatted using a style sheet</td>
…then it should have the CSS applied as such:
<td style=”color:#000000; font-weight:bold; line-height:1.5em; background-color:#FFFF99;”> This is text formatted using an inline style</td>
Another example is shown here, where a menu tab field appears good as a web page:
Same field when rendered in email:
Another example showing the difference between web page HTML and email HTML is shown below using the HTML map tag.
<map name=”Map” id=”Map”>
<area shape=”rect” coords=”2,1,44,45″ href=”http://www.facebook.com/YourFacebookPage” alt=”facebook” />
<area shape=”rect” coords=”49,2,89,43″ href=”http://plus.google.com/u/0/YourGooglePost/posts” alt=”gplus” />
<area shape=”rect” coords=”96,2,137,44″ href=”http://twitter.com/#!/YourTwitterFeed” alt=”twitter” />
<area shape=”rect” coords=”143,2,184,44″ href=”http://www.youtube.com/user/YourYouTubeVideo” alt=”youtube” />
This mapping would work on a web page. Within an email message, the map tag will be ignored.
Yet another example is the HTML title tag. On a web page, you want your page to have a title. In email, title is ignored (or, it will show at the top left of the message, looking out of place compared to rest of your message).
The best approach for composing email HTML messages is to use basic HTML. A lot of inline CSS formatting will work, but you’ll want to test the rendering in your recipients’ email clients (we have an email previewer in the new user interface).
NOTE: You can use the Simple Editor in the Messages section. It will preserve your CSS coding at the top of your message’s source code. If you switch to the TinyMCE editor, the CSS code will be stripped out.
To reference the first name in your message or subject, you enclose the field name with two per cent symbols. So, your subject can be:
Special offer for %%firstname%%
In the body of your message, you can use the field again (note you can use a comma or other text right after the closing %%):
Here is some information in our tutorials:
To extend the example a bit, using an address and a dealership, you could have a list with the address, first name, dealer name & phone, and dealer location. Your message body could be:
It is time to service your car. Contact your dealer, %%dealername%%, at %%dealerphone%%, or take your car to %%dealerlocation%%.
We look forward to seeing you, %%firstname%%.
The list would have fieldnames of emailaddress (which it does by default), firstname, dealername, dealerphone, and dealerlocation.
You can also substitute in a default value for firstname if the value is blank (like what the tutorial shows, “Valued Customer” or whatever you’d like).
Please note that if your list does not have the field you are trying to reference for personalization, then your message will be delivered showing %%your_missing_field_name_in_your_list%% – which is obviously not a good thing.
Before sending to your main list, create a test list with the same fields as your main list and send your message/campaign to the test list (all the test list needs is one record in it, with data values for each field you are trying to use for personalization). That way, you can test for the correct/proper rendering of your personalization variables.
You cannot test personalization via a preview version of your message because the preview is sent to an address directly, as opposed to being read/pulled from a list. Same thing applies if you are sending to addresses manually entered in the “To Addresses section” – all you have there are email addresses.
Here is my test list:
Here is my message – you can click on the “fields” link to show the fields in your list:
Here is what the delivered message looks like – note where the data values were filled in, and note the missing LastName:
Using our API
You can also use our API to send a message using a stored template. You would be sending using our SMTP relay service, but your account would be under JangoMail (since that is where we store templates). Please see this method:
Note: If you’ve already created your account under JangoSMTP, it will need to be converted to JangoMail in order to use templates. Contact Support to request this change. If you are a paid account, you can still use JangoSMTP pricing as long as you only use the transactional API methods. Create your message template in JangoMail using personalization variables as described earlier.
In JangoMail, you can compose HTML/plain text messages in our HTML editors, upload your lists or connect to a remote database, add use additional features such as open/click tracking, scheduling, filtering, and even integrating your database with your JangoMail account. In Reports, you can view delivery information, including opens, clicks, bounces, and unsubscribes.
A JangoMail account includes access to transactional messaging, commonly referred to as an SMTP relay service (and our related product is JangoSMTP, www.jangosmtp.com). An example of this combined usage is where you have a website and users can opt-in to receive a newsletter from you. Upon signing up on your site, the person’s email address (and optionally, other fields you collect, such as first name, last name, etc.) is added to a list in your account. The action of adding an address to that list triggers a welcome email message (a transactional message).
With JangoSMTP, you only have access to the relay service. Messages can be sent from an email client, your website, or from a server script. You can also send a campaign this way, but the messages are sent one at a time as opposed to being processed en masse. A campaign sent this way is typically scripted and processed on a server, where you loop through your own data source’s list of addresses, and you also pass in the message content as one of the parameters. You can send using any language that supports an SMTP connection (Java, PHP, .NET) or by using our API (api.jangomail.com). You have the same reporting capabilities as in JangoMail, which includes delivery information (SMTP log), opens, clicks, bounces, unsubscribes, view as web page, and more. In JangoMail campaigns, you also have access to social media reporting.
Overall, if you have the resources to script out your campaigns, select recipients from a data source on your end (typically done via a server script), you can send your campaigns via JangoSMTP. You can create a transactional group so that your campaigns are categorized in reporting (so, not every message shows up in a default transactional group). You can also upload your message and save it as a template, and then reference that template/campaign (and pass in personalization variables/values) for a transactional method.
If you want to store your data on your own (as opposed to uploading a list within your account), see:
If you are sending using mass email via JangoMail, we force a CAN-SPAM footer onto the bottom of your messages. If you are sending using SMTP, there is no automatically included footer; however, you can include an unsubscribe link if you want.
JangoMail accounts start with a forced CAN-SPAM footer that reads something like this (using “Acme” as an example company name):
This e-mail was sent by Acme, located at Address Line 1, Address Line 2, City, State 11111 in the USA. To receive no further e-mails, please click here or reply to this e-mail with “unlist” in the Subject line.
For the unsubscribe link, “click here” is a link to:
When the message is sent, the ***uniqueid**** part is replaced with an internal ID we use to track the email address of the recipient. The “x.jmxded92.net” part is a tracking domain, and more information about tracking domains can be found here.
When you sign up for a paid account, part of the process includes providing your mailing address. Once that is entered, the Address Line 1 and everything else for the address will take on the address you provided during the conversion to a paid account.
You can also update the address (even as a free trial account) via Settings > Authoring > CAN-SPAM Footer (in the new user interface; the old UI it is Settings > CAN-SPAM Footer).
Within a JangoMail message using one of the HTML editors, you can click the CAN menu button, which will insert the text shown earlier. You can also use the UNS link to just insert the unsubscribe portion.
You can provide your own CAN-SPAM footer as long as it meets the requirements of our anti-spam policy. If your version meets our requirements, we can remove the system-forced footer. Upon campaign processing, with the setting on, if we do not detect an unsubscribe link, we’ll force the footer onto the bottom of the message.
When JangoMail forces a footer into your message, you’ll see a notification message upon sending:
When the footer is forced into your message, it is placed at the bottom using an HTML paragraph “p” tag.
If you composed your message using an HTML table as the message container, the footer won’t necessarily be centered under your table. To ensure everything is centered, add a new/extra row at the bottom of your table and insert the footer text into the “td” table cell.
***For JangoSMTP users***
Unsubscribe Management – add an unsubscribe link to your emails, and JangoSMTP captures unsubscribes and suppresses these recipients from future emails. Just link to http://x.jmxded26.net/u.z?***uniqueid****. The ***uniqueid**** part will be automatically replaced by JangoSMTP to represent a unique identifier for the recipient. Further, you can brand the domain used by setting a Custom Tracking Domain in your account (which replaces the x.jmxded26.net part with something more branded such as “track.acme.com”).
Note: the x.jmxded26.net value is an example of one of our internal tracking domains, and that value may change based without notice (which would break the link). To prevent this possibility, we strongly recommend you use your own custom tracking domain.
If you are sending mass email via our SMTP service, you should include an unsubscribe link in your message.
To reinstate an unsubscribed or bounced address, go to Reports, and at the bottom of the page, click the link for Unsubscribed Addr or Bounced Addr (these will have a number next to them, showing how many are currently in your account).
On the next display that appears, find the address (or addresses) you want to remove or clear from the list and select the checkbox for that record. You can select more than one record at a time. You can also use a filter to find addresses. Click the “x” icon at the top right of the page to perform the delete operation.
You are welcome to do this, but if you prefer, you can send us the addresses you want to reinstate and we will do that for you.
Back to the top.
In addition to HTML and plain text emails messages you can send through JangoMail, you can also send an email as an SMS text message (like a text message you receive on your cell phone). You are limited to 140 characters for the email/message length. The Subject line does not count towards that total.
One thing you will need to know ahead of time is the carrier’s SMS gateway. Verizon, as an example is vtext.com. So, to send an email – which is treated as a text message – to a Verizon number of 3035551212 (and you need all 10 digits), you would send to an email address of firstname.lastname@example.org. Same thing applies to other carriers where you would need to know their SMS gateways.
JangoMail does not provide gateway information or a lookup service, so when sending to a list of numbers, your list will have to include the gateway (vtext.com, txt.att.net, messaging.sprintpcs.com, and so on).
You have an HTML message with content that will or will not display based on one or more recipient attributes, and this message needs to be sent to a single user based on some triggering event on your end. Transactional messages in JangoMail do not support conditional logic, but there is a way to still send a single message that uses conditional logic and personalization as well.