diff --git modules/contact/contact.admin.inc modules/contact/contact.admin.inc
index 8ad6422..e431e7e 100644
--- modules/contact/contact.admin.inc
+++ modules/contact/contact.admin.inc
@@ -78,8 +78,8 @@ function contact_category_edit_form($form, &$form_state, array $category = array
   $form['recipients'] = array(
     '#type' => 'textarea',
     '#title' => t('Recipients'),
-    '#default_value' => $category['recipients'],
-    '#description' => t("Example: 'webmaster@example.com' or 'sales@example.com,support@example.com' . To specify multiple recipients, separate each e-mail address with a comma."),
+    '#default_value' => str_replace(", ", "\n", $category['recipients']),
+    '#description' => t("Example: 'webmaster@example.com'. To specify multiple recipients, separate each e-mail address on a new line."),
     '#required' => TRUE,
   );
   $form['reply'] = array(
@@ -121,9 +121,6 @@ function contact_category_edit_form($form, &$form_state, array $category = array
  * Validate the contact category edit page form submission.
  */
 function contact_category_edit_form_validate($form, &$form_state) {
-  // Validate and each e-mail recipient.
-  $recipients = explode(',', $form_state['values']['recipients']);
-
   // When creating a new contact form, or renaming the category on an existing
   // contact form, make sure that the given category is unique.
   $category = $form_state['values']['category'];
@@ -134,20 +131,22 @@ function contact_category_edit_form_validate($form, &$form_state) {
   if ($query->countQuery()->execute()->fetchField()) {
     form_set_error('category', t('A contact form with category %category already exists.', array('%category' => $category)));
   }
-
+  // Validate each e-mail recipient.
+  $recipients = explode("\n", $form_state['values']['recipients']);
   foreach ($recipients as &$recipient) {
     $recipient = trim($recipient);
     if (!valid_email_address($recipient)) {
       form_set_error('recipients', t('%recipient is an invalid e-mail address.', array('%recipient' => $recipient)));
     }
   }
-  $form_state['values']['recipients'] = implode(',', $recipients);
 }
 
 /**
  * Process the contact category edit page form submission.
  */
 function contact_category_edit_form_submit($form, &$form_state) {
+  $form_state['values']['recipients'] = str_replace("\n", ", ", $form_state['values']['recipients']);
+
   if ($form_state['values']['selected']) {
     // Unselect all other contact categories.
     db_update('contact')
diff --git modules/contact/contact.test modules/contact/contact.test
index 80a157b..b2604c2 100644
--- modules/contact/contact.test
+++ modules/contact/contact.test
@@ -63,7 +63,7 @@ class ContactSitewideTestCase extends DrupalWebTestCase {
 
     // Create first valid category.
     $recipients = array('simpletest@example.com', 'simpletest2@example.com', 'simpletest3@example.com');
-    $this->addCategory($category = $this->randomName(16), implode(',', array($recipients[0])), '', TRUE);
+    $this->addCategory($category = $this->randomName(16), implode("\n", array($recipients[0])), '', TRUE);
     $this->assertRaw(t('Category %category has been saved.', array('%category' => $category)), t('Category successfully saved.'));
 
     // Make sure the newly created category is included in the list of categories.
@@ -71,10 +71,10 @@ class ContactSitewideTestCase extends DrupalWebTestCase {
 
     // Test update contact form category.
     $categories = $this->getCategories();
-    $category_id = $this->updateCategory($categories, $category = $this->randomName(16), $recipients_str = implode(',', array($recipients[0], $recipients[1])), $reply = $this->randomName(30), FALSE);
+    $category_id = $this->updateCategory($categories, $category = $this->randomName(16), $recipients_str = implode("\n", array($recipients[0], $recipients[1])), $reply = $this->randomName(30), FALSE);
     $category_array = db_query("SELECT category, recipients, reply, selected FROM {contact} WHERE cid = :cid", array(':cid' => $category_id))->fetchAssoc();
     $this->assertEqual($category_array['category'], $category);
-    $this->assertEqual($category_array['recipients'], $recipients_str);
+    $this->assertEqual($category_array['recipients'], str_replace("\n", ", ", $recipients_str));
     $this->assertEqual($category_array['reply'], $reply);
     $this->assertFalse($category_array['selected']);
     $this->assertRaw(t('Category %category has been saved.', array('%category' => $category)), t('Category successfully saved.'));
@@ -88,10 +88,10 @@ class ContactSitewideTestCase extends DrupalWebTestCase {
     $this->drupalLogin($admin_user);
 
     // Add more categories.
-    $this->addCategory($category = $this->randomName(16), implode(',', array($recipients[0], $recipients[1])), '', FALSE);
+    $this->addCategory($category = $this->randomName(16), implode("\n", array($recipients[0], $recipients[1])), '', FALSE);
     $this->assertRaw(t('Category %category has been saved.', array('%category' => $category)), t('Category successfully saved.'));
 
-    $this->addCategory($category = $this->randomName(16), implode(',', array($recipients[0], $recipients[1], $recipients[2])), '', FALSE);
+    $this->addCategory($category = $this->randomName(16), implode("\n", array($recipients[0], $recipients[1], $recipients[2])), '', FALSE);
     $this->assertRaw(t('Category %category has been saved.', array('%category' => $category)), t('Category successfully saved.'));
 
     // Try adding a category that already exists.
