Videotutorial de PHP: envío de email con PHP

  • Por
  • PHP
Vídeo tutorial sobre envío de email en PHP. Mostramos los procesos completos para el envío de correo electrónico y configuración de los mensajes y el servidor para enviar los mensajes sin problemas.
Estamos presentando una nueva entrega para avanzar en el curso de PHP en vídeo de DesarrolloWeb.com. En esta ocasión vamos a explicar todo lo que el desarrollador debe conocer sobre el envío de correo electrónico desde PHP.

El envío de email es una de las tareas más comunes que podremos realizar en las aplicaciones web y en el caso concreto de PHP se realiza de una manera bastante sencilla. A medida que nosotros queramos configurar nuestro mensaje de una manera más específica, tendremos que conocer varios detalles importantes que explicaremos en los presentes vídeos, pero de momento, para enviar email tan solo tenemos que utilizar una sencilla función de PHP.

En realidad en DesarrolloWeb.com ya hemos explicado en diferentes artículos todas las particularidades sobre el envío de correo, con lo que estos vídeos vienen bien para apoyar las explicaciones que ya hemos transmitido. El artículo principal publicado sobre este tema lo podéis localizar en Envío de email con PHP. Pero además existen otras muchas referencias y FAQs resueltas sobre enviar correos desde PHP que podréis encontrar si buscáis con el buscador interno de desarrollo web .com.

Como en otras ocasiones, hemos partido este videotutorial en varias partes que ocupan menos de 10 minutos, para poder subirlo a Youtube. En concreto tenemos cuatro vídeos que tratan sobre los siguientes asuntos.

Primer vídeo: Envío de email sencillo

En el primero de los vídeos que hemos preparado hacemos un envío de correo electrónico lo más sencillo posible, utilizando sólo unas opciones de configuración del email básicas. Este es un vídeo que sería suficiente para comenzar, aunque luego veremos que en muchos casos necesitaremos configurar diversos otros aspectos del mensaje y de nuestro servidor para que los emails lleguen a sus destinatarios.

Explicaremos el uso de la función mail() de PHP, con los parámetros más fundamentales. Si todo va bien los mensajes llegarán, pero atentos a los siguientes vídeos donde explicamos muchas otras cosas que te ayudarán a personalizar los correos y a formatearlos de manera que existan menos problemas en su envío.

Videotutorial 2: Configurar un servidor SMTP en local

Este segundo vídeo es un inciso de especial importancia para las personas que están trabajando con PHP en un servidor local para desarrollo. Generalmente, si trabajamos en Windows, necesitaremos configurar un servidor SMTP para enviar los mensajes, pues PHP debe comunicarse con ese servidor para entregar los mensajes y que sea el propio servidor de SMTP el que los envíe a través de Internet.

Atención, que este paso de instalar y configurar un SMTP sólo lo tenemos que realizar en el caso que estemos programando en local, puesto que si vamos a publicar los scripts en un espacio de alojamiento que tengamos contratado en un proveedor de hosting, los del proveedor deberían darnos configurado el SMTP.

En este material en vídeo explicamos cómo instalar un SMTP a través del programa PostCast Server, que tiene una versión gratuita. Pero seguro que existen otros programas válidos para hacer lo mismo.

Nota: En DesarrolloWeb.com hemos publicado otro videotutorial en el que explicamos cómo instalar y configurar Xampp con Mercury, un programa adicional que hace de servidor SMTP para cuando estás trabajando en local. A través de Mercury tendrás acceso a un servidor SMPT gratuito que hará posible el envío de correo electrónico desde páginas PHP. Al instalar Xampp se instala Mercury, pero posiblemente tengamos que hacer alguna configuración adicional para que funcione todo correctamente, que se explica en el vídeo.

Vídeo 3: Cabeceras del correo electrónico

De todos los vídeos sobre el envío de email con PHP que hemos preparado, esta sería la parte más importante, pues trata sobre la configuración avanzada del email a través de las cabeceras del mensaje. Las "headers" del email se deben indicar en la función mail() de PHP y en principio, aunque puedan parecer opcionales, son de vital importancia para que el email se distribuya con éxito.

De momento, existe una cabecera que es la "From" que deberíamos indicar en todos los mensajes de correo electrónico que se distribuyan por PHP. Si no indicamos el "From" tendremos serios problemas, como que el email no llegue o se meta dentro del correo basura. En la cabecera "From" podemos especificar cualquier correo de remitente, pero conviene hacerlo con un correo de un dominio que esté asociado con vuestro servidor SMTP, puesto que si no es así, hay riesgo de que nuestro mensaje se vaya la casilla de spam.

Pero además hay otras cabeceras que veremos en el vídeo como "Cc" o "Bcc" para indicar los correos a los que enviar copia del mensaje o copia oculta.

Videotutorial cuarto y final: Mail en formato HTML con PHP

El envío de email en formato HTML es otra de las necesidades típicas durante el desarrollo de aplicaciones web. En este vídeo veremos cómo especificar en las cabeceras del mensaje que el correo va a tener formato HTML y cómo definir un cuerpo del email con etiquetas para formatearlo. Lo que a veces se conoce como "texto enriquecido" en los correos electrónicos.

En el vídeo mostramos cómo realizar un envío en formato HTML y como incluir formato en CSS o incluso contenidos especiales como imágenes.

Esperamos que con las explicaciones sobre el envío de email en PHP de estos cuatro vídeos tengáis material suficiente para poder realizar cualquier tipo de envío sin problemas. Continuaremos en breve explicando otras cosas en el Videotutorial de PHP.

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

versace123mx_versace

28/8/2010
Exelente Miguel
Hola que tal solo queria agradecer a Miguel por tomarce el tiempo y dedicacion para realizar este trabajo y todo lo que realiza en desarrolloweb.com, aun que yo ya se como configurar un servidor web y como darle salida, asi como utilizar la funcion php mail, es muy interesante verlo en un VT ya que es una forma mas expresiva de mirar el proceso. Espero que mucha gente salga veneficiada con esto y gracias otra vez.......... ;)

andlinux

01/9/2010
no funciona SMTP
HOLA Y SALUDOS Y UN GRAN AGRADECIMIENTO por tus videos .. bueno mo proble es a la hora de configurar SMTP error en la instacion y php.ini ya lo hago cono tu lo haces pero igual me da el mismo erro FROM BLA BLA Y PHP.INI .. mira yo TRATO DE HACER EN WINOWS 7 DE 86X NO SI SE ESTE ES EL PROBLEMA. una prergunta si tu estas haciendo en xp por favor reponda si gracias mi mail bradysam@hotmail.com
Si hay un botón "ignorar" cuando recibe el mensaje de error, la prensa. La instalación debe seguir: pues asi lo hize pero no funciona tengo que registrar algo asi no se cual sea el problema
http://www.postcastserver.com/pub/pbballoon1.zip me ha recomendado que instale esto pero ya lo hizi me dice que tengo que registrar con comandos de mejor te dejo esto gracias :
Si hay un botón "ignorar" cuando recibe el mensaje de error, la prensa. La instalación debe seguir:

Descargue el archivo de la ubicación de abajo. Descomprima el archivo zip y copie el archivo en la carpeta pbballoon1.ocx principal del programa.
http://www.postcastserver.com/pub/pbballoon1.zip

Pulse Inicio / Ejecutar y registrar el archivo con el siguiente comando:
regsvr32 "c: archivos de programa servidor PostCast pbballoon1.ocx profesional "

Si el programa se instala en un directorio no predeterminado en el disco duro, cambiar la ruta anterior en consecuencia.

fackius

02/9/2010
Tutorial
Hola, la verdad que bastante interesante el tutorial sobre todo la parte del configuración del SMTP, me ha servido.

Gracias y saludos!.

cesar_martinez-348403

02/9/2010
ENVIO DE EMAIL CON PHP EN LINUX
buen día, alguien me puede apoyar para configurar PHP para el envío de emails ya que trabajo en plataforma LINUX especificamente en la distribución OPENSUSE, qu es lo que debo configurar y/o instalar?? les agradecere mucho su ayuda

Georginius

02/9/2010
Mail PHP
Excelente explicacion, breve y muy practica

adama_mohamed_coulibaly

03/9/2010
Gracias
Con todo corazon le agradezco mucho por su ayuda para que podamos ejercer nuestro trabajo como informatico desarollador.
Soy un fanatico de sus articulo. Soy un maliense graduado en ISPAJE de CUBA.
Cordialment

Wesker

03/9/2010
Muy util
Graicias por tomarte el tiempo para compartir tus conocimientos, espero tengamos mas material de este tipo en el futuro, ya que eres muy concreto en tus ejemplos y a por consiguiente muy comprensibles.

junforever

24/9/2010
NEcesito pedirte un favor
Primero que nada te agredezco mucho por el aporte, este tuto está antástico, ahora necesito pedirte un favor, podrías publicar la versión del post cast server con la que tu trabajas para descargármela ya que la que está en el sitio oficial da un error de instalación y a pesar de seguir los pasos que menciona la página oficial de post cast server, no funciona, por lo que te pido por favor pongas un link desde donde se pueda descargar la versión del post cast server free que utilizas que no da error, ya que necesito esta funcionalidad en una aplicación que estoy creando.
Se te agradece mucho y se te felicita por el post

Gabriel

05/10/2010
Ayuda!!!
Ayuda, ya hice todo y todo esta bien, los emails los envia. Pero el email que envia llega desde un email diferente al de mi sitio (es decir llegan desde otro correo), como hago para cambiarlo?
Aclaracion yo no lo configure en mi pc, pago un servicio de hosting. Se puede cambiar desde el CPanel?
Gracias!

ernestosoto

05/10/2010
respuesta: los mails llegan desde el from
desde las cabeceras del email se envía la referencia del correo con el que quieres que figure el remitente. lo dice en uno de los vídeos, cuando habla de las cosas de la cabecera que se pueden enviar a la función mail de php.

David

12/11/2010
Problema con el envío
Configuré todo tal cual explica el videotutorial, estoy trabajando de manera local pero al enviar los emails nunca llegan a mi correo, cual seria el problema en este caso? Gracias de antemano por la ayuda.

David

12/11/2010
Encontré el problema, necesito solución!
En el PostCast Server en la pestaña de ERROR del mensaje aparece "Network is unreachable" esa al parecer es la razon por la que el mensaje no se envia. Como podria solucionarlo?

autentico

23/1/2011
Error
Hola a todos!! Mi nombre es Brian.
Antes que nada quiero felicitarte Miguel por todos tus videos..los vengo siguiendo desde hace un año..
En esta oportunidad quise instalar el post server, pero me da un error 1904
Module "CWindowssystem32gcpbbln.ocx falied to register. HRESULT -2147023898.

Luego me da la opcion de ignorar, lo y continuo ocn la instalacion. Pero cuando voy a enviar un mensaje presionando start, me da error, que creo yo es proveniente de dicha situacion.

Bueno realmente no se que debo hacer.
Espero alguna respuesta..
Desde ya muchas gracias!!!

Luis

28/1/2011
Probar en Hotmail
Muy bueno el video ...pero tbn kisiera saber ..COmo seria para probar en hotmail..........?????..............

atixKtJN

19/8/2011
fLHKGUDlnk
Posts like this brihgten up my day. Thanks for taking the time.

Laura

10/10/2012
ERROR
Hola Buenos Dias...

No me quiere salir me sale error :S

carlos

08/11/2012
servidor smtp
hola una consulta, hice todo lo que enseñaste y me funciona bien enviando correos a mi e-mail de la empresa en la que trabajo, pero si quiero enviar correos a la cuentas de hotmail, me sale un error, mi dominio esta registrado en nic.ar, que podra ser la causa?
gracias

fer_mei

14/2/2013
¡Muchas Gracias Miguel - Hermoso tutorial!
Apreciado Miguel, hno., y personal de desarrolloweb:

Vuestro tutorial, no sólo es didáctico, sino tan "espontáneo" y natural, que realmente:

¡Los felicito!.

Yo dí mis primeros pasos en "php", con sus tutoriales, idem sobre MySQL. Y fué una

satisfacción aprender todo esto y me ha servido muchísimo. Luego de abandonar 3

años, vuelvo mi PC. Espero prontol instalar el PostCastServer.

Un gran abrazo a todos UDs, saludos a mis colegas del foro!

Fer

Juan

26/8/2014
Error "dns timeout. UNABLE TO RESolve hotmail.com"
Buen dia hermano, una pregunta estoy trabajando en una pagina con un formulario que envia datos a un correo electronico (muy sencillo como el que hicistes >nombre, correo y asunto)< segui tu guia de video al pie de la letra y todo bien hasta q llego a enviar los mensajes.. me lo envia al programa postcast y veo lo q me envio el formulario.. cuando le doy START .. dura unos 13 segundos y luego me sale el error "dns timeout. UNABLE TO RESolve hotmail.com" le cambio a gmail.com y me sale
"dns timeout. UNABLE TO RESolve gmail.com" y no me llegan al correo :S . quisiera saber cual es el error y que podria hacer en este caso, ante todo muchas gracias.

Sergio

30/11/2014
Spam
cuando envio el mail, el recetor lo recibe como Spam. cual podria ser el problema?

Ale

30/1/2018
consulta
Disculpen mi ignorancia, pero podrian decirme como hago para ver los videos? hace 2 horas estoy dando vueltas y no encuentro la manera. no veo ni likn ni reproductores nada de nada. Tengo actualizado los navegadores y probe con todos elos, acepte la politica y demas y nada.