How can I get list of emails of users who commented on a post?

 global $wpdb, $post;
 $query = sprintf("SELECT comment_author_email
                     FROM {$wpdb->comments}
                     JOIN {$wpdb->posts} ON {$wpdb->posts}.ID = {$wpdb->comments}.comment_post_ID
                     WHERE comment_post_ID = %d
                       AND comment_approved = '1'",
                  $post->ID);
 $emails = $wpdb->get_col($query);
 $emails = array_unique($emails);

 // your e-mails
 print_r($emails);

You can also use the built-in WP_Comment_Query (or get_comments), but it’s going to be a little slower…