Warning: Undefined variable $output in /home/customer/www/esthersola.com/public_html/wp-content/mu-plugins/funcionalidades.php on line 68

Warning: Undefined variable $output in /home/customer/www/esthersola.com/public_html/wp-content/mu-plugins/funcionalidades.php on line 68
Cambiar el remitente por defecto de los emails de WordPress - Desarrollo Web by esther solà

Cambiar el remitente por defecto de los emails de WordPress

[…]


por

Cuando utilizamos plugins para formularios de contacto, tipo Contact Form 7, Ninja Forms o Gravity Forms, nos ofrece los campos necesarios para poder personalizar el email y nombre del remitente.

Sin embargo, hay otros plugins que utilizan la función de wp_mail() por defecto de WordPress en los que no viene la opción de cambiar esos datos. Si el email es para el administrador, no importa mucho que el remitente sea «WordPress«, pero si está dirigido a un usuario, si nos interesará poder cambiarlo.

Para poder hacerlo, debemos utilizar las siguientes funciones (como siempre, en functions.php o un plugin para ello) y personalizar los datos según lo que nos interese:

 

// Change default WP email sender
 add_filter('wp_mail_from', 'doEmailFilter');
 add_filter('wp_mail_from_name', 'doEmailNameFilter');
function doEmailFilter($email_address){
 if($email_address === "wordpress@dominio.com")
 return 'elquequieras@dominio.com';
 else
 return $email_address;
 }
 function doEmailNameFilter($email_from){
 if($email_from === "WordPress")
 return 'Nombre empresa';
 else
 return $email_from;
 }

 

Estas funciones afectarán a todos los emails enviados desde WordPress, así que deberemos utilizar un remitente genérico.

 

 

Comentarios

4 respuestas a «Cambiar el remitente por defecto de los emails de WordPress»

  1. Avatar de Rafa

    |

    hola…muy bueno…

    tengo una consulta…

    necesito que el envio sea el mismo mail del cliente, en lugar de uno generico.

    es decir, que se envien a un mail generico pj : admin@pedido.com, pero que el remitente que se vea sea el mail del cliente…seria posible…

    gracias..!

    1. Avatar de esther

      |

      Hola Rafa,
      La mayoría de plugins de formularios te permiten poner como remitente el campo del formulario del email, aunque en algunos casos, en función de la configuración del servidor, me ha dado problemas. Puedes probar a ver si te funciona bien.

      Saludos!

      1. Avatar de Rafa

        |

        Gracias por responder Esther…
        Si eso si lo he utilizado con cf7 o gravityforms
        Pero mi problema es que esto lo necesito hacer para woocomerce, el cual al enviar la notificación de un nuevo pedido al administrador, solo permite introducir un mail válido…
        Ahí es donde quiero que se modifique el remitente, que fuese el mail del cliente….

        No h encontrado plugins…
        Y no se por donde tirar…

        1. Avatar de esther

          |

          Hola Rafa,

          Plugin no conozco ninguno… el email de pedido al administrador utiliza la plantilla woocommerce/templates/emails/admin-new-order.php, creo que la única opción es trastear en el código de ese archivo para hacer lo que quieres (copiándolo a la carpeta de tu tema para que no se sobreescriba con las actualizaciones)

          Te dejo un par de enlaces con información sobre el tema, no es exactamente lo que buscas, pero te puede dar ideas:
          https://stackoverflow.com/questions/46117263/change-sender-name-and-email-address-for-specific-woocommerce-email-notification
          https://www.mootpoint.org/blog/customising-woocommerce-notification-emails-hooks-filters/

          Saludos!