--- invisimail.module	2010-11-17 19:03:43.000000000 -0500
+++ invisimail.module.new	2011-04-13 10:21:54.000000000 -0400
@@ -315,6 +315,11 @@ function invisimail_field_formatter_info
       'field types' => array('email'),
       'multiple values' => CONTENT_HANDLE_CORE,
     ),
+    'invisimail_mailto' => array(
+      'label' => t('Encode with Invisimail (with mailto: link)'),
+      'field types' => array('email'),
+      'multiple values' => CONTENT_HANDLE_CORE,
+    ),
   );
 }
 
@@ -328,6 +333,11 @@ function invisimail_theme() {
         'element' => NULL,
       ),
     ),
+		'invisimail_formatter_invisimail_mailto' => array(
+			'arguments' => array(
+				'element' => NULL,
+    	),
+    ),
   );
 }
 
@@ -346,6 +356,21 @@ function theme_invisimail_formatter_invi
   }
 }
 
+function theme_invisimail_formatter_invisimail_mailto($element) {
+
+  // If there's no email address, don't bother trying to encode it.
+  if ($element['#item']['email'] == '') {
+    return;
+  }
+
+  if (module_exists('invisimail')) {
+    return '<a href="mailto:' . invisimail_ascii_encode($element['#item']['email'], variable_get('invisimail_js_formatter', 0), variable_get('invisimail_link_formatter', 0)) . '">' . $element['#item']['email'] . '</a>';
+  }
+  else {
+    return '<a href="mailto:'. $element['#item']['email'] .'">'. check_plain($element['#item']['email']) .'</a>';
+  }
+}
+
 /**
  * Settings form for the invisimail CCK formatter.
  *
