Enviar Mails/Correos con PHP (planos y Html)

19 marzo, 2013
Jhonnyf

PHP nos permite enviar correos de manera bastante sencilla usando la función mail(), es bastante sencillo y nos da la posibilidad de enviar correo en formato HTML definiendo la cabecera previamente. Con esta función con solo los 3 parametros (destino,asunto,mensaje) ya podemos enviar correos solo que saldrá como remitente nobody@tuserviciohost.com; El formato de la función mail() es la siguiente:

mail_picture

 Aqui un ejemplo:

El Destinatario:
Es el correo de destino o a quien se vá a entregar el mensaje, es un campo obligatorio. En esa variable podemos poner por ejemplo “Wilson Sanchez <wilsson@hotmail.com>”, o  “wilsson@hotmail.com” de las dos formas se pueden enviar.

Asunto o Titulo
El asunto o titulo de un correo. Este campo no es obligatorio ya que si no lleva asunto aparecerá (sin asunto), si el asunto es muy largo se te abreviará con “…” (tres puntos) .

Cuerpo del Mensaje o Contenido
En el contenido del mensaje del correo.  Aqui según la cabecera el correo puede ser plano o html (tambien existe el mixto). Si el correo es de tipo Plano todo el texto lo tomará como 1 sola linea solo respetando los siguientes  palabras reservadas o tag

  • \n = salto de línea
  • \t = sangría
  • \r = retorno de carro

Aqui un Correo en HTML pero con mucho más opciones, recuerden que es importante especificar que es HTML en la cabecera del correo.

Y es así como podemos enviar correos usando la función mail() en php, en algunos servidores compartidos (shared hosting) pueden restringir el uso a cierta cantidad de correos por hora o incluso desactivar esa función para evitar que manden listas de correo o hagan mal uso de esta función.

16 Comentarios. Dejar nuevo

muchas gracias, excelente explicación

Responder

Hola! es muy interesante este codigo. Ahora, como hago para Ejecutarlo?

Responder

En un Hosting, que soporte PHP.

Responder

Muchas gracias. Sabes si se puede mandar el cuerpo del mensaje desde un archivo externo con alguna función?

Responder

Cómo así Berenes ….

Explicate mejor, decime que queres hacer????

Responder

Genial, gracias

Responder

Todo perfecto !!!, lo que necesito saber es como evitar que ingrese a SPAM, todas las cuentas que envié, se fueron a SPAM

HELP !!

Responder

Colega una consulta como envio ese html con estilos css? los cargo en la variable $mensaje ? Saludos gran post!

Responder
Sarahi González
24 agosto, 2016 8:03 PM

Muchas gracias por el post, pero una pregunta, cuanto tiempo se tarda en recibir el correo el destinatario.

Responder

la función mail() no funciona, sabrán el motivo?, hice todo lo indicado y no manda nada..

Responder

Hola alguien me puede ayudar, tengo el problema que si lo hago desde mi maquina local si envia los correos, pero cuando lo intento enviar de un servidor que tenemos no envia nada pero no me marca error, creen que tenga que ser por la ip dedicada que tiene?

Responder

Hola! Sigo los pasos pero luego el mail esta en blanco, porque puede ser?

Responder

Me voy a ir a programar con diosito

Responder

que tal y con que función se hace para que pueda uno cambiar el remitente y no el que es de mi hosting

Responder

buenas como podria enviar una imagen en el cuerpo del mensaje? presento problemas con la url, xq al llegar el correo no muestra la imagen, la muestra es un cuadro pequeño con una “X”. Por favor

Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *