Como enviar mails usando wp_mail()
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; ?> |
<?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.