Saturday, September 24, 2011

New Feature: Segment an Email List based on Survey Responses

Overview:
updated October 17, 2011

You can now segment an Email List based on whether its members have responded (or not responded) to a survey. You can segment based on a survey taken in any campaign, a particular survey taken in a particular campaign, or any survey taken in a campaign.

Step by Step Example:

To do so, select the Email List you wish to filter, and then click the Advanced Filter button.


Select an Email List.


Click Filter and Send.


Switch to the Advanced Query Editor.


Similar to how you can segment based on opens, clicks, and other actions, you can now segment based on responses to a survey. The virtual table syntax for survey respondents is as follows:
(##MassEmailID.SURVEYTAKEN-SurveyID##)

where you would replace MassEmailID with the actual ID number of the email campaign and SurveyID with the actual ID number of the survey. If a MassEmailID is specified, you need not specify a SurveyID, and if a SurveyID is specified, you need not specify a MassEmailID. The combinations and their meanings are below.

  1. (##MassEmailID.SURVEYTAKEN-SurveyID##) --- respondents of a particular survey in a particular email campaign.
  2. (##MassEmailID.SURVEYTAKEN##) --- respondents of any survey from a particular email campaign.
  3. (##SURVEYTAKEN-SurveyID##) -- respondents of a specific survey taken from any email campaign.

In the below example, the segment will result in any respondent of any survey in campaign 234879837.



Similarly, you may want to send an email campaign as a follow-up to just those members that DID NOT take the survey. To do this, you simply use the NOT keyword in your SQL:



More Information:

You can segment your Email Lists in almost any way imaginable -- based on opens, clicks, replies, web page views, and now survey responses. For detailed information on how to segment Email Lists, see the comprehensive tutorial: JangoMail: Advanced Filtering of Email Lists.

Do you want to send a follow-up campaign to past recipients that answered a survey question in a particular way? For example, if you conducted a survey where you asked:

Are you dissastisfied with our service?

You may want to send a follow-up email message to those that responded YES to this question. You can do this under the Reporting tab. Access your survey results, and filter the results down to this question with the answer YES. Then click the icon to send a follow-up campaign. For more information on how to do this, see our past blog post on this topic.

Tuesday, August 30, 2011

JangoMail's Upcoming New User Interface

We're really excited to announce a big improvement coming to JangoMail: a completely redesigned user interface.

After a year of development, we're almost ready to roll out the brand new JangoMail user interface. We’ve revamped the interface, making it more user-friendly, intuitive, and streamlined. Take a look at what you’ll soon see in JangoMail.

Sending Emails:

Compare the screen you used to see when you started a new campaign to what you'll see in the new interface:

With the new interface, you get immediate access to your past email campaigns, making it easier to edit, copy, and relaunch them. Starting a fresh campaign is also streamlined - simply click the plus sign to go to the New Message page:

Email Lists:

The Email Lists section of JangoMail's new interface is also more user-friendly. The new interface puts your Email Lists and databases at your fingertips, so you can search, edit, copy and send to lists right from the main screen. Check out how much faster and easier it is to access your lists in the new interface:

Reporting:

We’re trying not to play favorites, but the new Reporting dashboard just might be the most exciting part of our new interface. Compare the old Reporting dashboard with the redesigned one:

By separating your reports for broadcast messages, transactional messages and management, the new interface makes it easier to get insight into the success of your campaigns. You can choose to view reports for all your campaigns at once or look in-depth at the reports for a single campaign.

These are just a few of the changes you'll see in the redesigned JangoMail. You'll still be able to access the old interface for a period of time after the launch, but the new interface will be easier, more streamlined and more intuitive - increasing your productivity and making your overall experience that much more satisfying.

In a month, we'll invite a select number of JangoMail users to test our new interface, and it will go live for all JangoMail users in approximately six weeks. If you would like to test the new interface before it goes live, contact our support team and let us know.

This has been one of our largest development efforts to date, and the whole JangoMail team is really excited about it. If you have any thoughts, we'd love to hear them.



Sunday, July 17, 2011

How to use the SendTransactionalEmailRaw API method

Overview:

The SendTransactionalEmailRaw method is a special API method that allows you to send a transactional email, but requires you to assemble a MIME compliant message body on your own. By contrast, the more common method, SendTransactionalEmail, need only an HTML body, a Plain Text body, and optional attachments, and then the API will assemble the MIME-formatted message automatically for transmission to the recipient.

SendTransactionalEmailRaw is the method that is used behind-the-scenes by our SMTP relay service. Anytime a user relays a message to relay.jangosmtp.net, our code internally calls SendTransactionalEmailRaw. This method was originally developed just for our internal use to enable our SMTP relay, but since it appears in our full method listing, our clients have begun inquiring about how they too can use it, and that's why we are publishing this article.

Examples:

In this article, we'll look at examples of manually assembled MIME parts and how to submit the raw message to this method.

First, let's look at the input parameters of the method. Some should be self-explanatory, so we won't include explanations of those here.

Options: This input value represents the same as for the SendTransactionalEmail method, so we won't cover them here. Here you can set options like open tracking, click tracking, a custom reply-to address, and much more. For more info on the Options parameter, see http://api.jangomail.com/help/html/655d20ca-2164-c483-fb21-d3d0ee049155.htm

ToEmailAddress: This is the email address that will receive this message.

ToHeader: This is the email address that will show in the To header of the email message, which technically doesn't have to be the recipient of the message. It is important to distinguish between ToHeader and ToEmailAddress. In most business cases, these will be the same email address and therefore the same value. If I want to send an email to john@company.com, then ToEmailAddress=john@company.com and ToHeader=john@company.com, because I want the To header to show the same email address to which the message was sent.

Scenarios where the To header and the receiving email address differ include situations when CC and BCC are used. If I send an email to john@company.com and BCC attorney@company.com, then in the background, two distinct emails are actually being transmitted:

1. ToHeader=john@company.com and ToEmailAddress=attorney@company.com
2. ToHeader=john@company.com and ToEmailAddress=john@company.com

Content-Type: This is the RFC 2045 Content-Type header of the email message.

Example values are:
  1. text/plain
  2. text/html
  3. multipart/alternative; boundary="----=_NextPart_000_2424_01CA056C.1610FF60"
RawMessage: This is the pre-assembled MIME message and is closely related to the value for Content-Type. If Content-Type is text/plain, then the value for RawMessage could be any plain text message:

Example 1

Content-Type: text/plain
RawMessage:
This is a simple plain text message.

Example 2

Here's an example of a body with both HTML and Plain text message parts.

Content-Type:
multipart/alternative; boundary="------------020009050405090403020909"
RawMessage:




Example 3

Lastly, here's an example of a plain text message with an attachment.

Content-Type: multipart/mixed;
boundary="------------020306090104040909010309"
RawMessage:

Test Form:

You can experiment with the method using the test form at http://api.jangomail.com/SendTransactionalEmailRaw.html. This form has textareas instead of text fields for those input parameters that warrant them, making it easier to test than the API-generated page at http://api.jangomail.com/api.asmx?op=SendTransactionalEmailRaw

Lastly, here is a screenshot of the test form filled out for the third example (plain text message with attachment), so you can see exactly how the method would be called:



Thursday, June 23, 2011

Email Marketing Review Sites: The Good, The Bad, and The Unresponsive

Potential clients often stumble upon one of the many email marketing review sites in search of some help with their decision on which email company to work with. There are certainly a lot of them!

After reading reviews of our service, they come to us with questions and sometimes concerns. We've had some interesting interactions with these sites, and we thought it would be helpful to tell you about them. We've learned ourselves that some online review sites aren't what they appear to be, while others go out of their way to ensure accuracy.

The Good

Let's start out on a positive note. There are a few sites out there that really want to do a good job comparing email companies. These sites have reached out to JangoMail personally to ensure that their site information is accurate. Often, they miss features that we provide as they quickly run through our email marketing site, but they are happy to correct their review when we point this out. One site, Social Compare (Beta) even had us fill out the information ourselves to make sure that our feature set was accurate.

So without further adieu, here are the sites we've found to be the most interested in accuracy:

ChooseWhat.com - They email us periodically to ensure that their review is still accurate.

Email-Marketing-Options.com
- Their initial review had some inaccuracies, but they were happy to fix them when we reached out. They now continue to reach out to us periodically for updates. Since we add new features often, this is a great practice.

Social Compare - They had us fill out the feature and pricing information ourselves. We love that!

The Bad

A few months back, one of the more popular review sites reached out to us. At first, we were excited, then they wanted us to pay to be one of their highest ranked providers. The more we pay, the better we rank. We decided to pass. It's very frustrating though, to know that we may be losing potential clients because one of our competitors paid to rank higher than us in this review site.

The Unresponsive


A major thorn in our side is Email-Marketing-Reviews.net. They have some very inaccurate and damaging reviews on our deliverability. We have reached out to them countless times, yet have never received a response. We tried sending long explanations of the errors that they made while testing. We tried short emails voicing our concern. We tried submitting comments on our review. Nothing. It's clear that they reviewed every service once, years ago, didn't put much effort into the reviews, and have not touched it since. Our pricing is even outdated. The most frustrating thing about this site is that it has strong natural search rankings on Google, so we can't escape their false statements about our company.

Conclusion

If you decide to use one of these sites or others like them to help you in your decision about email or other services, make sure to do your homework. Check for accuracies and keep in mind: You just might be looking at a site where the highest payer just happens to be first on the list!

Friday, June 17, 2011

When does it make sense to confirm / double opt-in your email list?

Confirmed!
Sometimes less is more with your Email Lists

When I help clients build web-site sign up forms to tie in with their JangoMail accounts, I highly recommend making use of our Confirmed Opt-In feature (sometimes known as “double opt-in” in the marketing world).

With an Email List that is Confirmed, any address that is added to the list first receives a brief confirmation message to ensure that the owner of the email address is, indeed, the one who registered and wants to receive mail from the sender. The email address will not be eligible to receive messages from that account unless the custom confirmation link in the message is clicked. JangoMail allows complete customization of this message, so it is easy for the branding and content in this confirmation to be recognized by the recipient, encouraging a quick click to confirm!

This makes sure our clients get nice clean email lists, and ensures that a recipient cannot be “signed up” by a third party for any reason.

As Director of Operations at JangoMail, I also find myself encouraging clients to make greater use of the Confirmed Opt-In tool in ways that go beyond the simple validation of web registrations. Sometimes, it can be an integral part of great list maintenance as well.

I know this can be a difficult message, and an odd one for a company that wants you, as our customer, to send out more emails!

After all, you go to great effort to build and expand your lists. It is perfectly reasonable to be reluctant to cut them back down. So, when does it make sense to re-confirm your data and prune the lists a bit? Let’s take a look.

Your list is getting old, and you haven’t sent to it regularly.

Lists that have aged are a bit notorious for causing spikes in complaints when you begin sending to them again later. The recipients haven’t heard from you in a while and often don’t remember signing up at all. If they do remember, their needs or interests may have changed. It’s a quick solution on the recipient end to hit the “spam” button to just make it go away. The problem is, this affects your reputation as a sender.

You are starting a new position or project, and you cannot find the original source of opt-in in your list data.

If you receive complaints from your campaigns, you will need to be able to respond very specifically to the complainant as to where and how he/she asked to receive your emails. If you don’t have this data now, it’s time to think about it before you begin sending email.

Often, people inherit lists from others in their organizations that came from a time when it wasn’t a big deal to keep good records. Email has changed over time in response to the abuses that are out there. Updating your records is a win for everyone.

I have had two recent experiences where lists that had substantial age on them (3+ years) now included addresses that are “spamtraps” where they weren’t previously. A spamtrap is an address that is used ONLY to catch people who are harvesting addresses from public sources. These addresses are not used by individuals anymore. We find that it is a routine practice for some services to retain addresses of former employees or other now-unused addresses for this purpose. Spamtraps can cause you major headaches. Accounts that are Return Path Certified can even face immediate suspension from the certification program until lists are cleaned.

In reconfirming these lists, the spamtrap address could not have clicked to confirm and would automatically NOT have been part of any future mailings. This would have avoided the problem entirely.

You have a new email push that is significantly different from that for which users originally signed up.

In this case, it’s time to make a hybrid of your old list.

New project? Give folks a chance to opt-in to the additional mail stream. If they aren’t interested in the latest area, then they don’t need to confirm, and they can keep getting just the emails they’ve been getting all along. You get to be the good professional in this message: “Hey! I’ve got an exciting new project coming your way that I’d like to share with you, as my long-time customer. I understand you get a lot of email, so click here to confirm that you want to see the latest. Otherwise, thank you for your business, and I look forward to continuing to communicate with you about our current service.”

This is MUCH more polite than starting something new and giving people the chance to opt-out. In fact, we’ve found that if you follow the opt-out path, you’ll wind up with too many folks just opting out of everything you do entirely by unsubscribing from your company, period.

Why? Maybe they’re not interested, or maybe they just have too much going on in their email already. Either way, err on the side of caution and use the chance to opt them in to your newest project.

How to Get Started

Sold? Ready to do more with less?

We have a tutorial that can get you started:
JangoMail Confirmed Opt-In Tutorial

Please also feel free to contact Customer Support (https://www.jangomail.com/Support/; 1-888-709-4099) for help! We love to hear from our customers.

Tuesday, June 14, 2011

New Feature: Automatically append social data to your Email Lists

We're happy to announce that, starting today, Email Lists, can now have social data appended to them. Specifically, subscribers' age, gender, and location can be added on as three additional fields to your existing Email Lists. This data is provided for free. Eventually, other socially-available premium fields will be available for a fee.

Overview:

The process of appending social data to your Email List is automatic, and you only need to designate an Email List to accept social data, in order for the data to be appended. To set an Email List to have social data appended, simply select the Email List, click the List Settings Tab,  and click Yes next to Append Social Data. Then click the Save button at the bottom of the page.



How can I use this social data?

You can use age, gender, and location to segment your Email Lists and send personalized email content based on their demographic profile. For example, if your business is a restaurant, you may want to send one offer to those subscribers under 21 years of age, and another for those over 21. If you're a clothing retailer, you may want to send different content to males versus females.



Frequently Asked Questions:

Q: If I choose to append social data, how exactly will my Email List be modified?

A: Three new fields will be added. They are social_age, social_gender, and social_location. The "friendly names" for the fields will be Age, Gender, and Location respectively.

Q: Where does JangoMail get the social data from?

A: We use a third-party data aggregator called Rapleaf. Rapleaf retrieves its personalization data from publicly available sources.

Q: Are other data points, other than just age, gender, and location, available?

A: Yes, we will soon be providing access to premium data, which includes data points such as household income and profession.

Q: Will all of my existing Email Lists automatically have social data appended?

A: No. Social data will not be automatically appended. For Email Lists, you must set them manually to receive social data using the instructions above.

Q: How long does it take after I set my List to receive social data, for the data to be appended?

A: It depends on the size of your Email List and system load, but generally, a list under 5,000 recipients should have data appended to it within 5 minutes after you change the setting.

Q: Will the appended-data be periodically refreshed to ensure accurate data?

A: Yes, by default, subscribers in Email Lists will have their social-appended data refreshed every 90 days.

Q: How do I remove social data from an Email List?

A: After social data has been appended to an Email List, to remove it, go to Lists and click the Edit Icon next to your list. Click the Fields tab and delete the social data fields: social_age, social_gender, social_location.

Q: I don't use Email Lists to store my subscriber data. I configure JangoMail to pull my list in real-time from my CRM system. Can social data still be appended?

A: No, but we will soon be introducing an API method to let you retrieve social data so that you may append data to your own CRM or external database system.

Monday, June 06, 2011

Fix for IE9 customers using the Connect to Local Database feature

We've recently been getting reports from our users who are unable to use JangoMail's Connect to Local Database feature after upgrading to Internet Explorer 9. The browser would freeze after clicking the Connect button, and would have to be shut down using Task Manager. After some exhaustive research, we've finally found a fix.


The Fix:

The fix involves adding a registry key to the Windows registry. You can download the reg file directly from us as a text file:
  1. Click here to download the registry entry as a text file.
  2. Rename the .txt file to a .reg file, and then double-click the .reg file to run it. This will add the necessary key to your Windows registry.
If you examine the .reg file in Notepad, you'll see that the specific key added to the Windows registry is:

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\New Windows]
"DetourDialogs"="no"


Interested in learning more?



This issue is caused by an esoteric bug in Internet Explorer 9 involving ActiveX controls and modal dialog boxes. You can read about the bug here. We hope that Microsoft releases a fix to this in the next IE9 release, in which case, adding the above-mentioned registry key won't be necessary. Until then, please use the registry key as a workaround.

Background

The Connect to Local Database feature is based on an ActiveX control. ActiveX technology is Microsoft-specific, and therefore this feature only works in Internet Explorer. It allows a user to connect to a local data source, like an Excel file, Access file, text file, or any ODBC data source (even SQL Server and Oracle), without having to upload the entire data file, and without having to export and import data. It's one of JangoMail's standout features, and one that separates us from our competitors. When we first launched this feature in 2004, Internet Explorer was the dominant browser. As the years went on, and Safari, Firefox, and Chrome chipped away at IE's market share, the number of users able to use the Connect to Local Database feature shrank. Unfortunately the functionality provided by this ActiveX control is extremely difficult to duplicate in a browser-universal technology like Flash, Java, or Silverlight. For now, we'll continue supporting our IE users taking advantage of this feature, but we hope that in the future, we'll be able to port this feature to a browser-agnostic technology.

Thursday, June 02, 2011

SMTP Relay and CodeIgniter

Any SysAdmin will tell you that having a good toolkit at your disposal makes your job much easier. And if you think about, it's a universal truth. Whatever your profession, you absolutely need the right tools for the job. As a SysAdmin I rely heavily on my toolkit because I know that the process of troubleshooting is much quicker when I have a tool that will uncover that critical bit of information to pinpoint the root cause of a problem, or that critical byte in the case of a recent support issue here at JangoMail.

The JangoMail support team had an issue pop up whereby some users of the CodeIgniter PHP framework were not able to successfully send messages via the JangoMail SMTP relay. A cursory check of our incoming logs showed that in all cases, the SMTP transaction was stalling out at the DATA command. All other parts of the system were in working order and we had no complaints from other users. It was a good time to open up that SysAdmin toolkit and see what else we could dig up.

For my money, Wireshark is an indispensable tool. It has been a lifesaver for me on multiple occasions. The old-school Unix/Linux admin would likely use the tcpdump tool for similar reasons. These tools capture all network traffic on the computer and dump it in a human readable format. Wireshark has an especially nice GUI and a helpful feature to trace an entire TCP stream and decode the application layer protocol as necessary.

Back to our CodeIgniter issue... after firing up Wireshark, it took just one SMTP transaction with CodeIgniter to pinpoint the issue. RFC 2821 requires commands to be terminated with CRLF (that's carriage return followed by line-feed), but the CodeIgniter client was only sending a LF character. As a result, the JangoMail SMTP relay server was waiting for more input until it ultimately timed out, resulting in an un-sent message. One single byte was the reason messages were not flowing!

A quick Google search turned up the fact that CodeIgniter defaults to using only LF as its line terminator, but that can be adjusted. The code to set the proper line terminator is as follows:

...
$config['crlf'] = "\r\n";
$config['newline'] = "\r\n";
...


A good illustration of the fact that when communicating between systems on the Internet we should try and follow Internet standards as much as possible. Perhaps it's also time we all finally agree on a single line-terminator. Microsoft's Windows, Apple's OSX and the Linux operating system all use different line-terminator character sequences by default(!) - CRLF, CR and LF respectively.

Solving a problem often comes down to having the right tool for the job. So what does your toolkit look like?

Monday, May 30, 2011

Enhancement: Much faster sending for broadcast email marketing campaigns

We deployed a code change last week that will allow for significant faster email sending for our high volume clients. The change allows for true parallel sending of email messages across multiple IP addresses hosted on a single server instance. In the past, we employed a round robin approach to sending across multiple IPs, in the case where a set of IP addresses was hosted on one server. With this change, sending speeds will increase by five-fold in some cases.

JangoMail has always used a custom, coded-from-scratch MTA (Mail Transfer Agent). Most email marketing service providers use one of several third party commercially available MTAs, but we chose to build our own for the absolute tightest integration with our Reporting system, and because it allows us to adopt standards faster than our competitors. For example, JangoMail was one of the first Email Service Providers to offer support for DomainKeys/DKIM and allow complete control over domains and their associated keys.

Internally, we call the JangoMail MTA the JangoMail Sending Service, or JMSS. It's a Windows Service written in .Net, and is tightly integrated with SQL Server, which is the core database platform for JangoMail. Over the years, third party MTA vendors like Port 25 and Message Systems have pitched us on their solutions, but in our evaluation, we've found that JMSS better suits our clients. And now, with the speed improvement and an upcoming announcement regarding better DKIM customization, we're more confident than ever in our choice to continue using our homegrown MTA.

Wednesday, May 25, 2011

New Feature: A two-step unsubscribe process

We've added a new setting under Settings --> Unsubscribes, that allows you to ask your recipient to confirm intent to unsubscribe after clicking the unsubscribe link in an email campaign.


By enabling the two-step unsubscribe process, a recipient that clicks the unsubscribe link will be taken to a web page where he needs to click a secondary link to actually unsubscribe. Without this setting, clicking the original link in the email will unsubscribe him. This feature enforces a two-step unsubscribe process versus a one-step unsubscribe process.

Our clients have been asking for this feature because:
  1. Often times subscribers click the unsubscribe link unintentionally. With this feature activated, clicking the link in the email will not immediately unsubscribe a recipient.
  2. Some anti-spam systems scan the body of an email and programmatically visit every URL in the email, thus triggering the click of the unsubscribe link. The two-step confirmation process will prevent software from automatically unsubscribing a recipient.
By default, this feature will be off. You must check the box to turn the feature on.

Monday, May 16, 2011

New Feature: Event API for Transactional Emails

We are excited to announce our newest feature: an event API for transactional emails. The transactional email event API is a system that can call any web service or web page on your server upon a specified transactional email event. The following transactional email events can trigger a call to your web service:
  1. A sent email
  2. An open of an email
  3. A click of a URL in an email
  4. An unsubscribe
  5. A bounce
  6. A complaint, via Feedback Loop
The transactional email event API is now offered in addition to our long-time existing broadcast email event API, which is covered in this PDF tutorial, this blog post for ASP.Net users, and this blog post for users who use a custom web service.

Why is the transactional email event API important?

You can now easily sync transactional email data with your own database or CRM system using the Event API. You only need one script on your web server to handle the calls from JangoMail. The calls are made in real-time when an event happens.

How do I set up an event-based web service call?

To set this up, go to Settings --> Integrating JangoMail with Other Systems --> Transactional Event API.  Click on the tab for each event for which you would like a web service called, and then enter the details for the web service.


What is the difference between the "Transactional Email Event API" and the "Standard API"?

The Standard API allows a programmer to interact with JangoMail much like a user would interact with JangoMail through the web-based interface. With the Standard API, you can pull reporting data, and send transactional email. The Event API pushes event data (opens, clicks, etc.) to your system when the event happens. The Standard API needs to be polled by your system to retrieve open or click data.

Some notes on this feature:
  1. If there are 1,000 consecutive failures when calling a specific web service for a specific event, then calls to the web service will cease until the URL or one of the parameters is modified. A failure is any HTTP response that is not status 200.
  2. When you first designate a web service and its attributes, JangoMail will call the web service for the last seven days worth of data. So if you specify a web service for the "open" event today, open data from the last seven days will immediately be posted to the web service.
  3. The parameter values will be URL-encoded before they are passed to your web service via HTTP POST or GET.
  4. You do not need to specify all parameters for a particular event. You only need to specify those parameters whose values you'd like your web service to receive.
  5. Every time JangoMail makes a call to your web service, it is recorded in the Event API Log, which can be viewed under Reports --> Logs --> Transactional Event API. From here you can see a list of all successful and failed calls to your web service.

Thursday, April 28, 2011

New Feature: Preserve the Message-ID in Transactional Emails

JangoMail now has a new checkbox on the Settings --> SMTP Relay page, that allows you to preserve the original Message-ID of an email sent via the SMTP relay. By default, the Message-ID is overwritten by the JangoMail system Message-ID.


Here is an example of a JangoMail system Message-ID:

Message-ID: <254970262215471@jngomktg.net>

It's a unique number followed by @jngomktg.net. We have received a few requests from JangoMail clients to preserve the original Message-ID of the message transmitted through the relay instead of overwriting it with the JangoMail system generated Message-ID. For example, an email sent using Mozilla Thunderbird has a Thunderbird-generated Message-ID that looks like:

Message-ID: <4DB66014.1070804@silicomm.com>

In this example, Mozilla Thunderbird's Message-ID contains a unique string of alphanumeric characters and uses the domain of the receiving email address. If you check the Preserve Message-ID box, this will also be the Message-ID in the final email delivered to the recipient. If you leave this box unchecked, this Message-ID will be replaced by the JangoMail system Message-ID.

Calling the API directly

If calling the transactional email API directly via the SendTransactionalEmail method, you can specify a custom Message-ID in the Options parameter using the CustomHeaders attribute:

Options:

OpenTrack=True,ClickTrack=False,NoClickTrackText=True,SkipUnsubCheck=False,SkipBounceCheck=False,UseSystemMailFrom=True,CustomHeaders=Message-ID:<4DB65FC8.8050705@silicomm.com>

Why is this useful?

The new Preserve Original Message-ID setting grants you full control of the Message-ID header value. This is useful if you have a custom reply management system in place, such that responses and bounces can be tagged with their original Message-ID.

Tuesday, April 26, 2011

Issue Resolved: Delivery of SMS text messages to Sprint via the email gateway

Several weeks ago, a client reported that transactional email sent to the SMS email gateway for Sprint (@messaging.sprintpcs.com domains) were not being delivered. Upon investigation by our deliverability team, we found the SMTP logs showed successful delivery, which indicated that some type of filtering was taking place after receipt by Sprint's email servers but before delivery to the customer's phone. Isolating the issue proved to be difficult, as the postmaster team at Sprint was unwilling to assist our deliverability team in resolving the issue. Through a series of trial and error tests, the issue was isolated to the Message-ID header present in all emails sent from JangoMail. Typically, the Message-ID header looks like:

Message-ID: <254970262215471@jngomktg.net>

It's a unique number followed by the domain jngomktg.net, which is a domain not used for anything else except the Message-ID header in emails sent by JangoMail. The Message-ID must be a syntactically valid email address, but not a real-world valid email address, as specified by RFC 2822, section 3.6.4.

In our trial and error testing, we found that the presence of the domain jngomktg.net resulted in non-delivery of the text messages to Sprint phones. Changing the domain in the Message-ID to jsmtp.net, another one of the many domains used throughout the JangoMail application, resolved the issue.

Message-ID: <254970262215471@jsmtp.net>

Therefore, all emails, including both broadcast and transactional emails, delivered from JangoMail to @messaging.sprintpcs.com recipients will have a Message-ID containing jsmtp.net, while all other emails will use the traditional Message-ID domain of jngomktg.net. Furthermore, we will soon be launching a feature that allows you, the user, to completely customize the Message-ID header with your own internally generated identifier.

We don't yet have an explanation as for why jsmtp.net results in delivery while the presence of jngomktg.net results in non-delivery, but we hope this information proves useful to JangoMail customers and the email marketing community at large, in resolving delivery issues to the SMS email gateway for Sprint.

Sunday, April 03, 2011

New Feature: RSS to Email Campaigns

This morning we're excited to announce the launch of our RSS to Email feature -- the ability to have JangoMail monitor your blog, and automatically email your subscribers whenever a new article is posted. The JangoMail RSS Email Campaign generator supports the following feed types:
  • RSS 1.0
  • RSS 2.0
  • Atom
There are two steps to setup RSS to email publishing for your blog.

Step 1: Create an RSS email template

Go to the Messages section and click on Compose New Message. You can either create a campaign from scratch, or use the existing Basic RSS to Email Template that appears as an option when you click on with a JangoMail Smart Template. Click the Select icon to select this template.

An RSS campaign template can have the following personalization variables in the Subject and Message areas:

%%rss_author%%
%%rss_title%%
%%rss_content%%
%%rss_url%%

The provided basic RSS template makes use of all of these variables. You can also customize the basic template by choosing it and then making your own modifications.



Important Note: To save your template to the system, just Send or Preview it to at least one recipient.

Step 2: Setup your blog's RSS feed in JangoMail

Next, set up your blog's RSS Feed under Settings --> Sending and Receiving --> RSS Feeds.



If you don't know your blog's RSS feed, try your blog address, followed by "atom.xml" or "rss.xml". For example, the feed for the JangoMail In Progress blog can be accessed at either:

http://blog.jangomail.com/atom.xml or http://blog.jangomail.com/rss.xml

You will need to know the location of your blog's feed before you can proceed with this feature.

Click on Add RSS Feed and fill out the rest of the form, as shown below. In this example, we are monitoring the TechCrunch blog, and the feed URL is http://www.techcrunch.com/feed/atom. We have to set it to send immediate email notifications whenever a new blog post is published, and the emails will go to the List #41172369, as well as to recipients from the web database included in the given SQL query:




Choosing Recipients


When specifying which recipients will receive RSS email campaigns, you can choose from:
  1. An entire Email List, or multiple Email Lists.
  2. A segment of an Email List. If there are no items in the dropdown menu, you can create List Segments under Lists. Click on the Edit Lists Icon next to the list you would like to filter. Then click the List Tools Tab and go to Filter and Send. Choose your filter settings and save the query. It will now show up as an option undder Send to List Segment in the screen above.
  3. A SQL query called against your web site's database. For this to work, you must have a Master Profile already set up under Settings --> Integrating JangoMail with Other Systems --> Set Master Profile for Web DB. Once this is set, specify a SQL SELECT statement in this box.

Scheduling

JangoMail will check feeds for new posts once every minute and will send out your new post to your subscribers almost instantly, if you have your feed Schedule set to send Immediately. If you instead set it to Daily and enter a time of day, then JangoMail will wait until the specified time, either on the same day, or the next day, before sending out new posts.

Reports

After you've sent some RSS email campaigns, you can view your campaigns' statistics under the Reports tab. Go to Broadcast Message Reports and click the Filter icon. To view just the statistics for RSS email campaigns, set the appropriate Filter:


How is JangoMail's RSS-to-Email feature different from other RSS-to-Email services?

JangoMail's RSS to Email campaign feature does much more than other RSS/email tools, including allowing you full control of the design of the emails, full tracking (opens, clicks, integration with Google Analytics), and complete list management (unsubscribes, bounces, complaints via feedback loops).

Additionally, JangoMail's tool allows you to send to an entire Email List, a segmented portion of an Email List, or a set of recipient data pulled in real-time from your web site's database.

Resources:

To read more about RSS and ATOM specifications, see the articles:

http://en.wikipedia.org/wiki/RSS

http://en.wikipedia.org/wiki/Atom_%28standard%29

http://www.intertwingly.net/wiki/pie/Rss20AndAtom10Compared

Tuesday, March 22, 2011

Patrick White from Webletter.org tells us about his advanced integration with JangoMail

Webletter provides print, newsletter, survey, and email marketing services to companies in the print industry. Patrick has built a variety of cool features on top of the JangoMail platform to offer a unique and valuable service to his clients. He took some time to tell us about how he's integrated JangoMail into his service.  Here's what he had to say:

JM: Hi Patrick. Thanks for taking the time to talk to us. Could you tell us a little bit about Webletter and the service that you provide?

Patrick: We began using JangoMail as the back-end system for our turn-key email service targeted at commercial printing organizations. We produce a monthly email newsletter that is syndicated by many printers and mailed to their lists, with the from address being a variable that matches the sales rep to the prospect or account. Each rep gets their own login to our system for contact management, as well as a report that provides view information for their contacts only.

We recently added some 1:1 features as well, including a new tool we call QuickNote that sends a follow-up message that can be easily edited by a sales rep. The edited message is dropped into an HTML format that is already set up, allowing the rep to send a highly stylized, 1:1 email. This feature is integrated into Highrise's sales app as well.

We added a sub-account feature about a year ago, allowing our printing industry clients to manage email campaigns for their clients (this enables them to take a snail-mailed postcard, for example, and convert it to a broadcast email for cross-media marketing). We often assist them in creating the email for their clients.


JM: That's a really cool feature! Have you built other features on top of JangoMail that are specifically useful to your industry?

Patrick: Yes, here are the biggies:

LIST:

A. Compartmentalization by sender (sales reps). This is an issue in terms of both managing/viewing contacts as well as in terms of reporting. These reps would never share their lists with each other. With JangoMail, an admin needs to compile the list and then manage the upload, reporting, etc. We've tackled this extensively.

B. We built a tool that determines a contact's gender automatically and our reports include information on not only campaign results, but results broken down by gender as well. This is very helpful to see if their is gender bias in the campaign design.

C. We built a name splitter into our app that splits the contact into first and last and is really intelligent about three or more word names. For example: Billy Jean and King vs. Jill and St. John.

CONTENT:

A. We've built a tool that allows an organization to access our own or their own story content to not only provide blog-style on the Web, but to email on-demand anytime they want. Typically we create a new story each month for this vertical, and they send it to all of their clients. Yet the story we wrote six months ago can be resent to a prospect requesting the information, for example. This system was designed for content relevant to the commercial printing space, but now can be used by any organization in any vertical industry.

B. We added an HTML code checker when clients try to design their own broadcast emails, that gives them suggestions by parsing the HTML and CSS tags and then makes suggestions and warnings if the code is incompatible with key email browsers. It's not as cool as your client preview tool but a lot faster/more realistic to use.

C. We added a survey tool.

D. We have an awesome, unbelievable back-end form/landing page tool, that allows the client to create a form without knowing any HTML and then use the link to embed into the broadcast email. The form is actually viewed from what we call a "universal viewer" HTML page on their web site that, based on the query string, displays the newsletter, an archive story, a survey, a form, or whatever. The form uses either MSXML2.ServerXMLHTTP or a frameset to build the page. The advantage of this system is it allows the marketer to create landing pages without having to involve IT. In effect it makes him or her a mini-webmaster for email campaigns.


JM: Can you tell me more about which features of JangoMail you use with your service?

Patrick: Yes. We use the API pretty much exclusively to deliver the message with a number of variable fields for both sender and contact. We also use the bounce, opt-out and views reporting features of the API to poll for results and pull them into our system.

A few cool features about our reports:

A. Compartmentalized/filtered by sender so that each sales reps' contacts are only shared with him or her (with Jangomail's built in reporting, it's hard to share results with a sales team without revealing one rep's contacts to the others, a big issue with our small-business clients)
*JangoMail can do this on the large scale for Agencies, using a Master/subaccount setting, but not within an individual smaller account.

B. An push-email that goes to every rep of the views report once an admin checks the views. This keeps the reps engaged in the broadcast email campaigns to motivate them to add and update their contact lists.

C. A cool, side-by-side views report that allows you to select multiple campaigns, and then view a report that tells you who is interested in what. Our clients tend to sell multiple services, so by enabling them to see who's interested in what topics, it gives them insight into new opportunities to target a specific contact with the identified need based on the views. It's actually really insightful.


JM: You've created some helpful tools that can be used for creating email newsletters. One of them that you mentioned was your Gender Finder. How did that come about and how does it work? Can you give an example of some success that you've seen from using that?

Patrick: Gender Finder works by taking US Census data for first names and comparing the ratio of that name to the overall US Population for male vs. female. For example, if your name is Tracey, you are about nine times more likely to be a woman than a man. We augmented that with the most popular male and female names for a variety of other cultures including Indian, Italian, French, Latin/Spanish, etc. by manually adding popular male/female names to the respective lists.

To tell you the truth, there hasn't been a lot of interest in using the tool yet, though I haven't promoted it at all. This is strange to me because you would not believe the discrepancy in views when filtered by gender.
You don't have to mail through our system to use this tool. It can be used to "genderize" any list, which then can be analyzed once results come in by genderizing the results. Marketers should really be paying attention to this, because if gender bias does exist in their creative/offer/overall strategy, it can easily be addressed to improve results inexpensively.


JM: You have a number of other tools and cool features available. What have you found to be the most popular?

Patrick:
A. gnimage.com pulls all photos from an entire Web site and presents them. It has served up about 10 million images so far.

B. We have a really cool test list calculator that determines the size required for a valid multivariate or A/B test. It's free.


JM: Is there anything else that you'd like to highlight about Webletter?

Patrick: Yes. I'd love to be seen as someone who:
A. ...can help an organization integrate the API into their system or provide documentation on this area.
B. ...can provide an interface for doing some niche things, like adding a forms tool, or whatever.
C. ...can help a small business set-up a godaddy database to then integrate with JangoMail, including the forms front-end and back-end, etc. This is huge!
D. ...can help a company with classic ASP code development or maintenance issues.
E. ...can help a company create, write, design and/or code an email campaign


JM: Thanks for taking the time to work with us. We're excited to have such a cool client integration!

Wednesday, February 23, 2011

New HTML Editor Option: TinyMCE is here!

We've just added a third choice of HTML editor to JangoMail, and it's a crowd favorite: TinyMCE. TinyMCE is a lightweight, powerful JavaScript-based HTML editor that loads fast. We'll continue to option our other two editors, the simple ActivEdit editor and the powerful Java-based EditLive editor as well. Most of the features we offered in the EditLive editor have been replicated in the TinyMCE editor, including:
  1. One-click ability to insert a CAN-SPAM footer, View as Web Page link, Twitter and Facebook sharing icons
  2. One-click ability to insert custom, pre-defined HTML snippets at the cursor location.
  3. Ability to load templates directly from the editor


Additionally, with the TinyMCE editor, you can switch between the Plain Text Editor and the HTML editor instantly, without having to re-load the page.

While the Java-based EditLive is still quite powerful, some users found it too slow to load and too clunky for rapid keystrokes. The TinyMCE editor is powerful, feature-rich, and lightning fast.

To set your account to use TinyMCE, begin composing a new message. Click the Settings Icon and choose the TinyMCE editor out of the three available options.


Thursday, February 17, 2011

New Feature: Restrict JangoMail SMTP Relay by From Address

We've launched a new feature that allows you to restrict who can use JangoMail via the SMTP relay service by From Address. Under Settings > Transactional > From Addresses, you may designate which email addresses and domains can send through the relay.



By default, all email addresses and domains can send through the relay.

You only need to specify From Addresses if you wish to restrict the relay to use just by certain people. If you wish to restrict the use of the relay to an entire domain, you can use the wildcard notation *@domain.com as the From Address to represent all addresses for domain.com.

Note: Specifying From Address restrictions only apply to emails sent through the SMTP relay, and not through the transactional email API.

Wednesday, February 16, 2011

New Feature: Delivery Optimization Tool

Ensuring good delivery of customer campaigns is of paramount importance here at JangoMail. We've blogged before about steps you as a user can take to help boost your deliverability. Now, we've taken it a step further and created a tool to help you see what you might be able to change to optimize delivery of your campaigns.

The new tool (fittingly named the "Delivery Optimization Tool" can be accessed from your Reports screen by clicking the ***Delivery Tools*** drop-down and choosing Delivery Optimization.




The Delivery Optimization Tool has two different modes of operation. In the first, the tool will analyze the most recent domains you've used for sending in both JangoMail and JangoSMTP; in the second, you can analyze a specific domain. The former is good for general use while the latter is handy if you are setting up a new domain that you have not yet sent from and want to verify you've taken all the correct steps for delivery optimization.





Make your selection (and enter a domain name if applicable) and click the Optimize button to start the analysis. You'll get a report listing any steps you should consider to help improve delivery. And of course, if you need any assistance implementing the steps outlined in your report feel free to contact your JangoMail / JangoSMTP support team.



Friday, February 11, 2011

New Feature: Merge two Email Lists

We've just launched a new feature under Lists that allows you to merge one Email List into another. You can do this via the web interface by going to the Lists tab, selecting the destination Email List for which you want to merge into, and visiting the List Tools tab. There you select Merge email lists and then select the source Email List whose members should be merged.




Notes: The email addresses in the Source Email List will then be copied to the Destination Email List. The Source Email List will not be modified. If the two Email Lists have different fields, then only the fields they have in common will be copied.

Web Service Method

You can also merge Email Lists with the API, using the MergeEmailLists method:


  • MergeEmailLists
    Merges two Email Lists by copying the List members from the Source List to the Destination List. Returns a String.

  • Wednesday, February 02, 2011

    New SMTP Relay option to preserve custom headers

    We have launched a new feature that will give you the option to preserve custom headers when using the JangoMail SMTP relay at relay.jangosmtp.net. To enable this option, go to Settings --> SMTP Relay, and check the Preserve Headers box.



    Enabling this option will preserve any custom headers that are a part of your original mail message. The SMTP relay previously would strip off custom headers before teh email was delivered to the recipient. With this feature, if your email message includes custom headers or headers added on by an email client like:

    X-MSMail-Priority
    User-Agent

    They will be included in the final email sent to the recipient. Additionally, if you have custom headers that help identify an email message in your internal system, such as:

    X-CustomEmailID

    those will also be preserved.

    We will be enabling an option in a future launch such that you can set a particular custom header's value to show in reports, allowing you to tie each individual sent email, open, and click back to your internal system's own identification mechanism.