Using Gravity Forms ‘gform_sendgrid_send_email_failed’ PHP filter

The gform_sendgrid_send_email_failed action is triggered when an email from Gravity Forms fails to be passed to SendGrid.

Usage

add_action('gform_sendgrid_send_email_failed', 'my_function', 10, 6);

Parameters

  • $error_message (string) – The error message.
  • $sendgrid_email (array) – The SendGrid email arguments.
  • $email (array) – The original email details.
  • $message_format (array) – The message format, either html or text.
  • $notification (array) – The Notification object.
  • $entry (array) – The current Entry object.

More information

See Gravity Forms Docs: gform_sendgrid_send_email_failed

Examples

Log failed email errors

Log the error messages when emails fail to send.

add_action('gform_sendgrid_send_email_failed', 'log_failed_email_errors', 10, 6);
function log_failed_email_errors($error_message, $sendgrid_email, $email, $message_format, $notification, $entry) {
    // Log the error message
    error_log("Email failed to send: " . $error_message);
}

Send a notification on failed email

Send an admin notification when an email fails to be sent.

add_action('gform_sendgrid_send_email_failed', 'send_admin_notification_on_failed_email', 10, 6);
function send_admin_notification_on_failed_email($error_message, $sendgrid_email, $email, $message_format, $notification, $entry) {
    // Compose the email message
    $admin_email = '[email protected]';
    $subject = 'Email failed to send';
    $message = "An email failed to send. Error message: " . $error_message;

    // Send the email
    wp_mail($admin_email, $subject, $message);
}

Update entry meta on email failure

Update entry meta to indicate that an email failed to send.

add_action('gform_sendgrid_send_email_failed', 'update_entry_meta_on_email_failure', 10, 6);
function update_entry_meta_on_email_failure($error_message, $sendgrid_email, $email, $message_format, $notification, $entry) {
    // Update the entry meta
    gform_update_meta($entry['id'], 'email_failed', $error_message);
}

Retry sending failed email

Retry sending the email when it fails to send.

add_action('gform_sendgrid_send_email_failed', 'retry_failed_email', 10, 6);
function retry_failed_email($error_message, $sendgrid_email, $email, $message_format, $notification, $entry) {
    // Retry sending the email
    wp_mail($email['to'], $email['subject'], $email['message'], $email['headers'], $email['attachments']);
}