/**
  * Set various email headers for BP 2.5 emails.
  *
  * This includes the 'Reply-To' and custom 'From' headers.
  *
  * @since 1.0-RC4
  *
  * @param bool|WP_Error $retval Returns true if validation is successful, else a descriptive WP_Error.
  * @param BP_Email      $email  Current instance of the email type class.
  */
 public function set_bp_email_headers($retval, $email)
 {
     if (!$email->get_to()) {
         return $retval;
     }
     if (empty($this->listener->item_id)) {
         return $retval;
     }
     $to = $email->get_to();
     // Backpat headers to be used for checks in 'bp_rbe_querystring' filter.
     $headers = array();
     $headers['to'] = array_shift($to)->get_address();
     $reply_to = $this->get_reply_to_address($headers);
     // If no reply to, bail.
     if (empty($reply_to)) {
         return $retval;
     }
     /**
      * Should we use the poster's display name as the 'From' name?
      *
      * @since 1.0-RC4.
      *
      * @param bool $retval
      */
     $use_custom_from_header = apply_filters('bp_rbe_use_custom_from_header', true);
     // Set custom 'From' header.
     if (!empty($this->listener->user_id) && true === $use_custom_from_header) {
         // Fetch current 'From' email address.
         $from = $email->get_from()->get_address();
         // Grab the host.
         $host = substr($from, strpos($from, '@') + 1);
         // Set the custom From email address and name.
         $email->set_from("noreply@{$host}", bp_core_get_user_displayname($this->listener->user_id));
     }
     /**
      * Set our custom 'Reply-To' email header.
      *
      * Have to workaround a mailbox character limit PHPMailer bug by wiping out
      * the Reply-To header and then setting it as a custom header.
      *
      * @link https://github.com/PHPMailer/PHPMailer/issues/706
      */
     $email->set_reply_to('');
     $email->set_headers(array('Reply-To' => $reply_to));
     return $retval;
 }