654380491
hola@carlosdk.com
Login
[miniorange_social_login]

Login with your site account

Lost your password?

Carlos DK Carlos DK
  • Inicio
  • Kit digital
  • Universo Dk
  • Blog
  • Contacto
Back
  • Inicio
  • Kit digital
  • Universo Dk
  • Blog
  • Contacto
  • Home
  • Blog
  • Tutoriales formativos
  • Enviar correo electrónico o email desde PHP usando la función mail() sin librerías externas

Tutoriales formativos

20 Ago

Enviar correo electrónico o email desde PHP usando la función mail() sin librerías externas

  • By Carlos Dk
  • In Tutoriales formativos
  • 0 comment

Bienvenidos a este Speed, en esta ocasión vamos a hablar sobre la función mail() de php para enviar un correo electrónico adjuntando un fichero. Ni que decir que se puede utilizar para enviar el correo sin ningún archivo adjunto, aunque está completo ya lo utilizas como quieras.

El código es el siguiente:

  1. function enviar_correo( $to, $asunto, $modo, $adjunto )
  2. {
  3. $boundary= md5(time()); //valor boundary
  4. $htmlalt_boundary= $boundary. “_htmlalt”; //boundary suplementario
  5. $subject=$asunto; //titulo del correo
  6. //cabeceras para enviar correo en formato HTML
  7. $headers = “MIME-Version: 1.0\r\n”;
  8. $headers .= “Content-Type: multipart/mixed; boundary=\””. $boundary. “\”\r\n”; //datos mixteados
  9. $headers .= “From: “. TITULO_WEB. “<robot@sie-group.net>\r\n”; //correo del que lo envia
  10. //incia cuerpo del mensaje que se visualiza
  11. $cuerpo=”–“. $boundary. “\r\n”;
  12. $cuerpo .= “Content-Type: multipart/alternative; boundary=\””. $htmlalt_boundary. “\”\r\n\r\n”; //contenido alternativo: texto o html
  13. $cuerpo .= “–“. $htmlalt_boundary. “\r\n”;
  14. $cuerpo .= “Content-Type: text/html; charset=iso-8859-1\r\n”;
  15. $cuerpo .= “Content-Transfer-Encoding: 8bits\r\n\r\n”;
  16. if( $modo==0 ) //enviar correo para comentarios
  17. {
  18. //Cuerpo o contexto del mensaje, la esencia del correo, el todo 😉
  19. $cuerpo .= “Aquí va el texto que se quiera y que se mostrará en el mail como tal”;
  20. }
  21. //y mas modos….
  22. //….
  23. $cuerpo .= “\r\n\r\n”;
  24. $cuerpo .= “–“. $htmlalt_boundary. “–\r\n\r\n”; //fin cuerpo mensaje a mostrar
  25. //archivos adjuntos
  26. if( strcmp($adjunto, “0”) && strcmp($adjunto, “vacio”)  )
  27. {
  28. set_time_limit(600);
  29. $archivo= $adjunto;
  30. $buf_type= obtener_extencion_stream_archivo($adjunto); //obtenemos tipo archivo
  31. $fp= fopen( “uploads/”.$archivo, “r” ); //abrimos archivo
  32. $buf= fread( $fp, filesize(“uploads/”.$archivo) ); //leemos archivo completamente
  33. fclose($fp); //cerramos apuntador;
  34. $cuerpo .= “–“. $boundary. “\r\n”;
  35. $cuerpo .= “Content-Type: “. $buf_type. “; name=\””. $archivo. “\”\r\n”; //envio directo de datos
  36. $cuerpo .= “Content-Transfer-Encoding: base64\r\n”;
  37. $cuerpo .= “Content-Disposition: attachment; filename=\””. $archivo. “\”\r\n\r\n”;
  38. $cuerpo .= base64_encode($buf). “\r\n\r\n”;
  39. }
  40. $cuerpo .= “–“. $boundary. “–\r\n\r\n”;
  41. //funcion para enviar correo
  42. set_time_limit(600);
  43. if( mail($to, $subject, $cuerpo, $headers) == FALSE )
  44. return 0;
  45. return 1;
  46. }

Os doy una explicación rápida para que no tengáis que pararse en buscar las variables más importantes, esta función recibe los siguientes parámetros:  $to, $asunto, $modo, $adjunto que vamos a enumerar y definir:

$to: el remitente

$asunto: el asunto del correo/mail 😉

$modo: en el caso del código está solo el modo 0 para enviar como texto

$adjunto, la url de donde está el fichero.

Espero que os sirva!

Fuente: http://foro.elhacker.net/php/solucionado_como_adjuntar_archivos_a_un_mail_en_php-t235152.0.html

Tags:codigophp
  • Share:
Carlos Dk

You may also like

Crear categorías y configurar menú en WordPress en 4 min.

  • marzo 3, 2019
  • by Carlos Dk
  • in Tutoriales formativos
Crear categoría y menú WordPress Es indispensable en una nueva instalación de WordPress, crear las...
Instalar tema en WordPress en 2 pasos
febrero 23, 2019
Actualizar MySQL 5.1 a 5.6 en CentOS 6.9 con Plesk como panel
octubre 20, 2018
Recorrer todos los objetos de una capa o del DOM completo con JQuery
diciembre 22, 2014

Leave A Reply Cancelar la respuesta

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Busca en la web

Recomiendo

Software ERP empresarial

Categorías

  • Miscelanea (129)
  • Tutoriales formativos (622)

Ponte en contacto

+34 654380491

hola@carlosdk.com

Torre del Mar (Málaga)

Enlaces rápidos

  • Universo Dk
  • Contacto
  • Blog

Soy social

  • Twitter
  • Linkedin
  • Youtube

Newsletters

Suscríbete para enterarte de lo último que estoy haciendo. No lo usaré para enviarte SPAM inútil 😉

Esta web la he diseñado con cariño en Andalucía por Carlos Dk