Render view for specific user, drupal_mail
To render a view programmatically as a specific user, you need to adjust the global $user variable.

//Run script as a sepcific user
global $user;
$original_user = $user;
drupal_save_session(FALSE);
$user = user_load($uid);

//Your code goes here
....

//Return global variable to its orignal value
$user = $original_user;
drupal_save_session(TRUE);