Tuesday, June 24, 2008

Bug Fix: Plain Text Preview

When using Preview/Save on a message under composition, users have the ability to check a box from the pop up to also have a plain text version of the HTML message sent separately so that it can be checked for appearance as well.

We have made two adjustments to the processing of the plain text message for Preview. These issues were NOT affecting campaigns that were actually sent ("Send E-mail" button), but only the Previews.
  1. The From Address will no longer show a 4 digit numeric extension. Ex: browniekitchen0042@jangomail.com will now show simply as browniekitchen@jangomail.com.
  2. When Click Tracking is enabled for the campaign, but disabled for the plain text version of the message, the additional tracking code will no longer show in the Preview version either. A link in plain text of http://www.browniekitchen.com will remain unchanged.

New Administrative Watch Feature

The JangoMail Support Team has added to its array of administrative tools with a new Alert feature. Your Support Team can now set a watch on your account to be alerted directly by email when a campaign of a given size is being launched.

This allows us to watch over your messages as you explore new features or as we may be assisting you with troubleshooting any concerns with message processing as the message is actually going out. When your Support representative sets the Alert, he/she will be notified by email when a campaign that meets the Alert's settings has been sent. The JangoMail user will not notice any change in how he/she sends, and the Support team can watch the campaign move through each step of the sending process closely.

Thursday, June 12, 2008

Group Merge Available in Exported Reports

JangoMail has now updated our Super Reporting pages to again allow for merging Group data with reports during export. To use this feature, you must export by email (the envelope icon). The direct download to CSV will not perform the merge.

If you have sent a campaign to a JangoMail Group, you will be able to select that Group during export to see the list of data in the report, along with the data that was originally stored along with the email address in your Group.

Let's do an example:
  • A campaign is sent to a Group containing the following data:

    emailaddress, customerID, firstname
    jane@doe.com, 12345, Jane
    smith@yahoo.com, 12346, Bob

  • The Unsubscribes report shows that Jane unsubscribed, and we export that report.

  • With a standard export, the email address would be included in the report, along with the date and time the address unsubscribed (jane@doe.com, 06/13/2008 01:00:00 PM).

  • If the export is Merged with the original Group that received the message, the report would include the email address, the date and time of the unsubscribe, the customerID, and the firstname (jane@doe.com, 06/13/2008 01:00:00 PM, 12345, Jane).

This feature is most often used when exported data needs to be synchronized locally to other stored data. In the example above, we could then update Jane's information easily because we had her customerID -- and that is how our system tracks her.

Wednesday, June 11, 2008

User-Agent Identification Added

JangoMail will now identify itself with a User-Agent when making HTTP/HTTPS connections to your web server.

The JangoMail User-Agent will report as: JNHTTP

Customers examining their web logs will now be able to identify JangoMail's connections to their servers.

Tuesday, June 10, 2008

Technical Notes: Using the JangoMail API with Java

Robert Fischer is the creator of OffstageArts, an open source integrated arts management system (http://offstagearts.org). OffstageArts is written in Java and deployed via Java WebStart. Mr. Fischer has graciously provided notes on his solution for us to post so others can follow in his footsteps. Many thanks to Robert for sharing his work with us!

Using JangoMail with Java

The most convenient way to use JangoMail with Java is to use Java-based SOAP tools. Apache Axis (http://ws.apache.org/axis/) is available as a commponly used Java SOAP system. Although these tools can be intimidating at first, they make life much easier over the long run. Moreover, using them does not require much effort, just follow the steps below.

Axis is able to download the JangoMail WSDL web service description file and generate a set of JangoMail Java stub classes from it. You can then compile those classes and use them in your application. The JangoMail SOAP stub classes (generated by Axis) insulate you from the complexities of SOAP XML. An example of using these classes:

-------------------------------------------

// Make a service

JangoMail service = new JangoMailLocator();


// Now use the service to get a stub which implements the SDI.

String usr = "JangoMailUserName";
String pwd = "JangoMailPassword";
JangoMailSoap soap = service.getJangoMailSoap(new URL(https://api.jangomail.com/api.asmx));

soap.addGroup(usr, pwd, "TestGroup");
-----------------------------------------------

Doing It -- Automated

The easiest way to go through this process is to use the enclosed Netbeans/Maven project. For this, you will need NetBeans with the Maven Plug-in. If you do not have that, it can be obtained at: http://netbeans.org/ and then by following directions at: http://mevenide.codehaus.org/m2-site/mevenide2-netbeans/installation.html

With NetBeans+Maven, you are now ready to go:

  1. Download and unzip the accompanying project from the following link, and open it in NetBeans: Download here.
  2. Edit the file RunWsdl.java and make sure the variable "mavenProjectRoot" is set correctly for your project home directory.
  3. Right-click on the project and select "Run." This should download the WSDL file and generate all the necessary Java classes in the project.
  4. Right-click on the project and select "Clean and Build." This will compile the Java classes you just produced. Look at Test.java for a simple example on how these classes can be used.

This procedure has now produced a file "jangomail-1.0-LATEST.jar" that you can use in other projects. If your other projects are Maven- based, you can use the dependency:

groupId = com.jangomail
artifactId = jangomail
version = 1.0-LATEST

When the JangoMail API changes, you must re-run this procedure to make the updates available to your application.

Doing It -- Manual

If you do not have NetBeans + Maven, then you will need to download Axis and run it manually:

  1. Download Apache Axis from http://ws.apache.org/axis/
  2. Put all the jar files in Apache Axis on your CLASSPATH.
  3. In a command shell, change directory to your source directory.
  4. Run the command:
    java org.apache.axis.wsdl.WSDL2Java https://api.jangomail.com/api.asmx?WSDL
  5. Compile the source code that results.
You can now use these classes in your own program, as given in the example above. You will have to include the Axis-supplied .jar files as well.