diff --git a/email.module b/email.module
index 8aaa1fd..5cd51ef 100644
--- a/email.module
+++ b/email.module
@@ -73,6 +73,9 @@ function email_field_formatter_info() {
       'label' => t('Email contact form'),
       'description' => t('Display a contact form.'),
       'field types' => array('email'),
+      'settings' => array(
+        'text' => t('Contact person by email'),
+      ),
     ),
     'email_plain' => array(
       'label' => t('Email plain text'),
@@ -92,10 +95,50 @@ function email_field_formatter_info() {
 }
 
 /**
+ * Implements hook_field_formatter_settings_form().
+ */
+function email_field_formatter_settings_form($field, $instance, $view_mode, $form, &$form_state) {
+  $display = $instance['display'][$view_mode];
+  $settings = $display['settings'];
+
+  $element = array();
+
+  if ($display['type'] == 'email_contact') {
+    $element['text'] = array(
+      '#title' => t('Link text'),
+      '#type' => 'textfield',
+      '#size' => 60,
+      '#default_value' => $settings['text'],
+      '#required' => TRUE,
+    );
+  }
+
+  return $element;
+}
+
+/**
+ * Implements hook_field_formatter_settings_summary().
+ */
+function email_field_formatter_settings_summary($field, $instance, $view_mode) {
+  $display = $instance['display'][$view_mode];
+  $settings = $display['settings'];
+
+  $summary = '';
+
+  if ($display['type'] == 'email_contact') {
+    $summary = t('Text: @text', array('@text' => $settings['text']));
+  }
+
+  return $summary;
+}
+
+/**
  * Implements hook_field_formatter_view().
  */
 function email_field_formatter_view($object_type, $object, $field, $instance, $langcode, $items, $display) {
   $element = array();
+  $settings = $display['settings'];
+
   switch ($display['type']) {
     case 'email_default':
       foreach ($items as $delta => $item) {
@@ -107,7 +150,7 @@ function email_field_formatter_view($object_type, $object, $field, $instance, $l
     case 'email_contact':
       $ids = entity_extract_ids($object_type, $object);
       foreach ($items as $delta => $item) {
-        $element[$delta] = array('#markup' => l(t('Contact person by email'), 'email/' . $object_type . '/' . $ids[0] . '/' . $instance['field_name']));
+        $element[$delta] = array('#markup' => l($settings['text'], 'email/' . $object_type . '/' . $ids[0] . '/' . $instance['field_name']));
         // Since email is always sent to first item's email, break after any email address found.
         break;
       }
