original_string: private function handle_verification_failure(
              \Horde_Imap_Client_Ids $messageids,
              $recipient) {
          global $DB, $USER;
  
          if (!$messageid = $this->currentmessagedata->messageid) {
              mtrace("---> Warning: Unable to determine the Message-ID of the message.");
              return false;
          }
  
          // Move the message into a new mailbox.
          $this->client->copy(self::MAILBOX, $this->get_confirmation_folder(), array(
                  'create'    => true,
                  'ids'       => $messageids,
                  'move'      => true,
              ));
  
          // Store the data from the failed message in the associated table.
          $record = new \stdClass();
          $record->messageid = $messageid;
          $record->userid = $USER->id;
          $record->address = $recipient;
          $record->timecreated = time();
          $record->id = $DB->insert_record('messageinbound_messagelist', $record);
  
          // Setup the Inbound Message generator for the invalid recipient handler.
          $addressmanager = new \core\message\inbound\address_manager();
          $addressmanager->set_handler('\tool_messageinbound\message\inbound\invalid_recipient_handler');
          $addressmanager->set_data($record->id);
  
          $eventdata = new \core\message\message();
          $eventdata->component           = 'tool_messageinbound';
          $eventdata->name                = 'invalidrecipienthandler';
  
          $userfrom = clone $USER;
          $userfrom->customheaders = array();
          // Adding the In-Reply-To header ensures that it is seen as a reply.
          $userfrom->customheaders[] = 'In-Reply-To: ' . $messageid;
  
          // The message will be sent from the intended user.
          $eventdata->courseid            = SITEID;
          $eventdata->userfrom            = \core_user::get_noreply_user();
          $eventdata->userto              = $USER;
          $eventdata->subject             = $this->get_reply_subject($this->currentmessagedata->envelope->subject);
          $eventdata->fullmessage         = get_string('invalidrecipientdescription', 'tool_messageinbound', $this->currentmessagedata);
          $eventdata->fullmessageformat   = FORMAT_PLAIN;
          $eventdata->fullmessagehtml     = get_string('invalidrecipientdescriptionhtml', 'tool_messageinbound', $this->currentmessagedata);
          $eventdata->smallmessage        = $eventdata->fullmessage;
          $eventdata->notification        = 1;
          $eventdata->replyto             = $addressmanager->generate($USER->id);
  
          mtrace("--> Sending a message to the user to report an verification failure.");
          if (!message_send($eventdata)) {
              mtrace("---> Warning: Message could not be sent.");
              return false;
          }
  
          return true;
      }
code: private function handle_verification_failure(
              \Horde_Imap_Client_Ids $messageids,
              $recipient) {
          global $DB, $USER;
  
          if (!$messageid = $this->currentmessagedata->messageid) {
              mtrace("---> Warning: Unable to determine the Message-ID of the message.");
              return false;
          }
  
          // Move the message into a new mailbox.
          $this->client->copy(self::MAILBOX, $this->get_confirmation_folder(), array(
                  'create'    => true,
                  'ids'       => $messageids,
                  'move'      => true,
              ));
  
          // Store the data from the failed message in the associated table.
          $record = new \stdClass();
          $record->messageid = $messageid;
          $record->userid = $USER->id;
          $record->address = $recipient;
          $record->timecreated = time();
          $record->id = $DB->insert_record('messageinbound_messagelist', $record);
  
          // Setup the Inbound Message generator for the invalid recipient handler.
          $addressmanager = new \core\message\inbound\address_manager();
          $addressmanager->set_handler('\tool_messageinbound\message\inbound\invalid_recipient_handler');
          $addressmanager->set_data($record->id);
  
          $eventdata = new \core\message\message();
          $eventdata->component           = 'tool_messageinbound';
          $eventdata->name                = 'invalidrecipienthandler';
  
          $userfrom = clone $USER;
          $userfrom->customheaders = array();
          // Adding the In-Reply-To header ensures that it is seen as a reply.
          $userfrom->customheaders[] = 'In-Reply-To: ' . $messageid;
  
          // The message will be sent from the intended user.
          $eventdata->courseid            = SITEID;
          $eventdata->userfrom            = \core_user::get_noreply_user();
          $eventdata->userto              = $USER;
          $eventdata->subject             = $this->get_reply_subject($this->currentmessagedata->envelope->subject);
          $eventdata->fullmessage         = get_string('invalidrecipientdescription', 'tool_messageinbound', $this->currentmessagedata);
          $eventdata->fullmessageformat   = FORMAT_PLAIN;
          $eventdata->fullmessagehtml     = get_string('invalidrecipientdescriptionhtml', 'tool_messageinbound', $this->currentmessagedata);
          $eventdata->smallmessage        = $eventdata->fullmessage;
          $eventdata->notification        = 1;
          $eventdata->replyto             = $addressmanager->generate($USER->id);
  
          mtrace("--> Sending a message to the user to report an verification failure.");
          if (!message_send($eventdata)) {
              mtrace("---> Warning: Message could not be sent.");
              return false;
          }
  
          return true;
      }
code_tokens: private function handle_verification_failure ( \ Horde_Imap_Client_Ids $ messageids , $ recipient ) { global $ DB , $ USER ; if ( ! $ messageid = $ this -> currentmessagedata -> messageid ) { mtrace ( "---> Warning: Unable to determine the Message-ID of the message." ) ; return false ; } // Move the message into a new mailbox. $ this -> client -> copy ( self :: MAILBOX , $ this -> get_confirmation_folder ( ) , array ( 'create' => true , 'ids' => $ messageids , 'move' => true , ) ) ; // Store the data from the failed message in the associated table. $ record = new \ stdClass ( ) ; $ record -> messageid = $ messageid ; $ record -> userid = $ USER -> id ; $ record -> address = $ recipient ; $ record -> timecreated = time ( ) ; $ record -> id = $ DB -> insert_record ( 'messageinbound_messagelist' , $ record ) ; // Setup the Inbound Message generator for the invalid recipient handler. $ addressmanager = new \ core \ message \ inbound \ address_manager ( ) ; $ addressmanager -> set_handler ( '\tool_messageinbound\message\inbound\invalid_recipient_handler' ) ; $ addressmanager -> set_data ( $ record -> id ) ; $ eventdata = new \ core \ message \ message ( ) ; $ eventdata -> component = 'tool_messageinbound' ; $ eventdata -> name = 'invalidrecipienthandler' ; $ userfrom = clone $ USER ; $ userfrom -> customheaders = array ( ) ; // Adding the In-Reply-To header ensures that it is seen as a reply. $ userfrom -> customheaders [ ] = 'In-Reply-To: ' . $ messageid ; // The message will be sent from the intended user. $ eventdata -> courseid = SITEID ; $ eventdata -> userfrom = \ core_user :: get_noreply_user ( ) ; $ eventdata -> userto = $ USER ; $ eventdata -> subject = $ this -> get_reply_subject ( $ this -> currentmessagedata -> envelope -> subject ) ; $ eventdata -> fullmessage = get_string ( 'invalidrecipientdescription' , 'tool_messageinbound' , $ this -> currentmessagedata ) ; $ eventdata -> fullmessageformat = FORMAT_PLAIN ; $ eventdata -> fullmessagehtml = get_string ( 'invalidrecipientdescriptionhtml' , 'tool_messageinbound' , $ this -> currentmessagedata ) ; $ eventdata -> smallmessage = $ eventdata -> fullmessage ; $ eventdata -> notification = 1 ; $ eventdata -> replyto = $ addressmanager -> generate ( $ USER -> id ) ; mtrace ( "--> Sending a message to the user to report an verification failure." ) ; if ( ! message_send ( $ eventdata ) ) { mtrace ( "---> Warning: Message could not be sent." ) ; return false ; } return true ; }
docstring: Handle failure of sender verification.
  
  This will send a notification to the user identified in the Inbound Message address informing them that a message has been
  stored. The message includes a verification link and reply-to address which is handled by the
  invalid_recipient_handler.
  
  @param \Horde_Imap_Client_Ids $messageids
  @param string $recipient The message recipient
  @return bool
docstring_tokens: Handle failure of sender verification .