Skip to content

Commit cd00f74

Browse files
committed
improve mail sent error login
1 parent df82678 commit cd00f74

1 file changed

Lines changed: 20 additions & 1 deletion

File tree

EmbedPress/Core.php

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ public function __construct()
8383
add_action('ep_admin_notices', [$this, 'admin_notice']);
8484

8585
add_filter('upload_mimes', [$this, 'extended_mime_types']);
86+
87+
add_action('wp_mail_failed', [$this, 'capture_mail_error'], 10, 1);
8688
}
8789

8890
/**
@@ -504,11 +506,28 @@ public function send_user_feedback_email($params)
504506
update_option('embedpress_feedback_submited', true);
505507
return new \WP_REST_Response(['message' => 'Email sent successfully!'], 200);
506508
} else {
507-
return new \WP_REST_Response(['message' => 'Failed to send email.'], 500);
509+
// Retrieve last error
510+
$last_error = get_transient('embedpress_last_mail_error');
511+
$error_message = 'Failed to send email.';
512+
if ($last_error instanceof \WP_Error) {
513+
$error_message = $last_error->get_error_message();
514+
}
515+
516+
return new \WP_REST_Response([
517+
'message' => $error_message
518+
], 422); // using 422 instead of 500
519+
}
520+
}
521+
522+
public function capture_mail_error($wp_error)
523+
{
524+
if ($wp_error instanceof \WP_Error) {
525+
set_transient('embedpress_last_mail_error', $wp_error, 60);
508526
}
509527
}
510528

511529

530+
512531
public function register_feedback_email_endpoint()
513532
{
514533
register_rest_route('embedpress/v1', '/send-feedback', [

0 commit comments

Comments
 (0)