$from_name, 'from_email' => $from_email, ], false ); wp_safe_redirect( add_query_arg( [ 'tab' => 'email', 'message' => 'email-settings-saved', ], flywp()->admin->page_url() ) ); exit; } /** * Send test email. * * @return void */ public function send_test_mail() { if ( ! isset( $_POST['flywp-email-test-nonce'] ) ) { return; } if ( ! wp_verify_nonce( $_POST['flywp-email-test-nonce'], 'flywp-email-test' ) ) { return; } if ( ! current_user_can( 'manage_options' ) ) { return; } $to = isset( $_POST['to_email'] ) ? sanitize_email( $_POST['to_email'] ) : ''; $is_html = isset( $_POST['html_email'] ) ? true : false; $subject = __( 'Test Email from FlyWP', 'flywp' ); $headers = []; $message = $this->get_mail_body( $is_html ); if ( $is_html ) { $headers[] = 'Content-Type: text/html; charset=UTF-8'; } $sent = wp_mail( $to, $subject, $message, $headers ); wp_safe_redirect( add_query_arg( [ 'tab' => 'email', 'message' => $sent ? 'test-mail-sent' : 'test-mail-failed', ], flywp()->admin->page_url() ) ); exit; } /** * Get email body. * * @param bool $is_html * * @return string */ private function get_mail_body( $is_html = false ) { if ( !$is_html ) { $message = <<