Index: privatemsg.module
===================================================================
--- privatemsg.module	(revision 4090)
+++ privatemsg.module	(working copy)
@@ -457,11 +457,17 @@
   // Notification emails link here but we may not be logged in yet
   if (!$user->uid) {
     // drupal_goto('user/login', 'destination=privatemsg');
-    return drupal_access_denied();
+    return t('Access denied');
   }
-  if (!user_access('access private messages') || !(isset($user->privatemsg_allow) ? $user->privatemsg_allow : 1)) {
-    return drupal_access_denied();
+  
+  if (!user_access('access private messages')) {
+    return t('You do not have permissions to view private messages.');
   }
+    
+  if(!(isset($user->privatemsg_allow) ? $user->privatemsg_allow : 1)) {
+    return t("You've disabled private messages. ") . l('Edit your profile', "user/{$user->uid}/edit") . ' if you would like to enable them.'; 
+  }
+  
   drupal_set_title(t('Private messages'));
   $current_folder = arg(2);
   if ($current_folder != 1) {
@@ -678,13 +684,17 @@
 
 function privatemsg_new_validate($form_id, $form_values) {
   if (!empty($form_values['recipient'])) {
-    $recipient = user_load(array('name' => $form_values['recipient']));
-    if (!$recipient->uid) {
-      form_set_error('recipient', t('The <em>Recipient</em> does not exist.'));
+    $recipient_names = preg_split('/,\s*/', $form_values['recipient']);
+    foreach($recipient_names as $recipient_name) {
+      $recipient = user_load(array('name' => $recipient_name));
+      
+      if (!$recipient->uid) {
+        form_set_error('recipient', "User '{$recipient_name}' does not exist.");
+      }
+      else if (!$recipient->status || !(isset($recipient->privatemsg_allow) ? $recipient->privatemsg_allow : 1)) {
+        form_set_error('recipient', t('@name does not accept private messages.', array('@name' => $recipient->name)));
+      }
     }
-    else if (!$recipient->status || !(isset($recipient->privatemsg_allow) ? $recipient->privatemsg_allow : 1)) {
-      form_set_error('recipient', t('@name does not accept private messages.', array('@name' => $recipient->name)));
-    }
   }
   if (!isset($form_values['format']) || !filter_access($form_values['format'])) {
     form_set_error('format', t('The supplied input format is invalid.'));
@@ -696,9 +706,12 @@
   if ($form_values['op'] != t('Send private message')) {
     return false;
   }
-  $recipient = user_load(array('name' => $form_values['recipient']));
-
-  $result = _privatemsg_send($user, $recipient, $form_values['subject'], $form_values['privatemsgbody'], $form_values['format']);
+  
+  $recipient_names = preg_split('/,\s*/', $form_values['recipient']);
+  foreach($recipient_names as $recipient_name) {
+    $recipient = user_load(array('name' => $recipient_name));
+    $result = _privatemsg_send($user, $recipient, $form_values['subject'], $form_values['privatemsgbody'], $form_values['format']);
+  }
   drupal_set_message(t('Message sent.'));
   drupal_goto($user->uid ? 'privatemsg' : '');
 }
