Soporte » Guías – Resolución de problemas » Correos a veces llegan vacíos – Mandrill App

  • Hola, quisiera saber si a alguien más le ha pasado que el Mandrill tenga esta intermitencia de enviar 2 de 10 correos vacíos. He tratado de encontrar alguna relación o factor común entre los correos que llegaron vacíos, pero no existe.
    Gracias de antemano

    Adjunto algo de código:

    Almaceno primero todo en una variable:

    $template='<html...';
    $mail_sent = wp_mail($onco_email, $subject, $body, $headers, $attachments_file);
    
    			if ($mail_sent) {
    				add_post_meta($post_id, 'mail_sent', 1, true);
    			} else {
    				add_post_meta($post_id, 'mail_sent', 0, true);
    			}
    			remove_filter('wp_mail_content_type', 'wpdocs_set_html_mail_content_type');
    
    					add_post_meta($post_id, 'mensaje_enviado', $template, true);

    Al final lo que hago es guardar el resultado de envío. Éste siempre es 1, pero cuando el correo llega vacío, no se llega a actualizar el campo «mensaje_enviado».

    PD: También he intentado enviar un correo fallido con los mismos datos y se envía exitosamente. Entonces, es algo que solamente ocurre a veces pero no logro dar con la razón.

    • Este debate fue modificado hace 1 mes, 3 semanas por Fernando Tellado. Razón: Etiquetado correcto del código
Viendo 1 respuesta (de un total de 1)
  • Hola @marcelodaros94

    Parece que tu problema no tiene porque ser mandrillap.
    Según el código que veo da error el wp_mail, y seguramente será porque el $body o el $template no lo has montado bien.

    Tienes varias estrategias a seguir:
    Colocar el wp-config.php:

    define('WP_DEBUG', true);
    define('WP_DEBUG_LOG', true);
    define('WP_DEBUG_DISPLAY', false);

    Y tendrás un fichero debug.log en wp-content que podrás revisar en busca del error.

    También puedes utilizar el hook wp_mail_failed

    function action_wp_mail_failed( $wp_error )  {
        return error_log( print_r( $wp_error, true ) );
    }
    add_action( 'wp_mail_failed', 'action_wp_mail_failed', 10, 1 );

    Si no otra opción es hacer servir un plugin tipo:
    https://wordpress.org/plugins/wp-mail-debugger/
    https://wordpress.org/plugins/wp-mail-catcher/

    A ver si con estos métodos encuentras la pista de porque en algunos casos te pasa. Como te digo será que algo se está montando mal y no problema del servicio de mandrillapp.

    Espero que te sirva de ayuda y vuelvas al debate a compartir tus progresos.
    Salut!

Viendo 1 respuesta (de un total de 1)
  • Debes estar registrado para responder a este debate.