02Nov 2011 7 Comments */?>

Como enviar mails usando wp_mail()

Categorías: Tips de wordpress, Tutoriales, Wordpress - Tags:

Desde WordPress podemos enviar emails facilmente con la función wp_mail() que es muy similar a PHP Mail.
Esta función la podemos usar para enviar emails de un formulario , cuando un usuario realiza una acción o por cualquier otro motivo que necesiten.

Suponiendo que tenemos un archivo send-email.php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
//cargamos todos los elementos de Wordpress necesarios para que funcione
include_once('../../../wp-load.php');
 
//supongamos que en la variable submit tenemos todos los datos de un formulario
$submit=$_REQUEST['submit'];
 
if($submit):
        //podemos pasar un array de direcciones de email a cuales enviar.
	$to=array('[email protected]','[email protected]');
 
        //Asunto del email
	$subject=$submit['asunto'];
 
        //La dirección de envio del email es la de nuestro blog por lo que agregando este header podremos responder al remitente original
	$headers = 'Reply-to: '.$submit['nombre'].' '.$submit['apellido'].' <'.$submit['email'].'>' . "\r\n";
 
 
        //El mensaje a enviar. Se puede incluir HTML si enviamos el email en modo HTML y no texto.
	$message.='Hola <br/>';
        $message.='Te gusta este tutorial?';
 
 
	//Filtro para indicar que email debe ser enviado en modo HTML
	add_filter('wp_mail_content_type',create_function('', 'return "text/html";'));
 
	//Cambiamos el remitente del email que en Wordpress por defecto es tu email de admin
        add_filter('wp_mail_from','mqw_email_from');
 
	function mqw_email_from($content_type) {
	  return '[email protected]';
	}
 
	//Cambiamos el nombre del remitente del email que en Wordpress por defecto es "Wordpress"
        add_filter('wp_mail_from_name','mqw_email_from');
 
        function mqw_email_from($name) {
	  return 'Más Que Wordpress';
	}
 
         //Por último enviamos el email
	 wp_mail( $to, $subject, $message, $headers);
 
 
endif;
?>

Fácil verdad? Saludos!!!

Damián Logghe

Programador freelancer y emprendedor en sueños. Contento de ser mi jefe y poder hacer lo que me gusta. WordPress es mi principal fuente de ingreso y me escribo tanto para ayudar como para tener una guia de memoria. Quieres contratarme? Déjame un mensaje.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle Plus

  • Muchas gracias, muy util

  • infobox

    Damian, una consulta en caso de q quiero utilizar ajax, es decir enviar el correo por ajax, enviar los datos al archivo send-email.php.

  • Kevin

    Muchas gracias por la información para mandar correos

  • hola soy nuevo en esto… se algo de programacion , va no mucho… un copio y pego avanzado … ando buscando la forma de hacer que al final de un comentario , el usuario tenga un link a una pagina que yo le de, al hacer click quiero tener su direccion de mail en una variable que yo pueda usar, Para escribir el usuario debe ingresar su email y en realidad lo que me falta saber es como disponer de ese email (en que variable esta) cuando esta escribiendo el comentario, la ideea es que cada comentario que me hagan disponga de un footer con ese link que enviara una variable con el email al hacerle clik. Si no fui muy claro perdon

  • mbalmaceda

    Hola, me funciono correctamente el codigo, pero ademas necesito adjuntar un archivo que tengo alojado en el servidor. Me sirve de igual manera alguna funcion de wp_mail?? , o necesariamente tengo que buscar algun plugin?.
    Gracias y saludos

  • Edu Avila

    y en donde va este archivo send-mail.php ? en la raíz del sitio ? y desde un formulario cual sería la ruta action ? /send-mail.php ? ../../../send-mail.php ?

  • Yo tenía problemas para enviar mails