public function run() {
		try {
			$vulnerabilities = $this->checker->check_site( $this->options->ignored_packages );

			do_action( 'soter_site_check_complete', $vulnerabilities );

			$this->options->get_store()->set( 'last_scan_hash', $vulnerabilities->hash() );
		} catch ( \RuntimeException $e ) {
			// Gross?
			$options = _soter_instance( 'options_manager' );
			$use_html = 'html' === $options->email_type;

			wp_mail(
				// @todo Should this go straight to admin email instead?
				$options->email_address,
				'HTTP error while checking ' . get_bloginfo( 'name' ) . ' for vulnerabilities',
				$use_html
					? $this->render_html_error_email( $e )
					: $this->render_text_error_email( $e ),
				$use_html ? [ 'Content-type: text/html' ] : []
			);
		}
	}