diff --git a/plugins/FeedsNodeProcessor.inc b/plugins/FeedsNodeProcessor.inc
index 41ec2753e4b9fde66f775a8a8bf54c8a1b871312..80104150d7746c67dcb54aa3112dfdfd6e4a5a91 100644
--- a/plugins/FeedsNodeProcessor.inc
+++ b/plugins/FeedsNodeProcessor.inc
@@ -230,6 +230,16 @@ class FeedsNodeProcessor extends FeedsProcessor {
         }
         $target_node->path['alias'] = $value;
         break;
+      case 'user_name':
+        if ($user = user_load_by_name($value)) {
+          $target_node->uid = $user->uid;
+        }
+        break;
+      case 'user_mail':
+        if ($user = user_load_by_mail($value)) {
+          $target_node->uid = $user->uid;
+        }
+        break;
       default:
         parent::setTargetElement($source, $target_node, $target_element, $value);
         break;
@@ -258,6 +268,14 @@ class FeedsNodeProcessor extends FeedsProcessor {
       'name' => t('User ID'),
       'description' => t('The Drupal user ID of the node author.'),
     );
+    $targets['user_name'] = array(
+      'name' => t('Username'),
+      'description' => t('The Drupal username of the node author.'),
+    );
+    $targets['user_mail'] = array(
+      'name' => t('User email'),
+      'description' => t('The email address of the node author.'),
+    );
     $targets['status'] = array(
       'name' => t('Published status'),
       'description' => t('Whether a node is published or not. 1 stands for published, 0 for not published.'),