El enviar correos desde PHP desde un hosting es muy sencillo, basta con definir los parámetros correspondientes, este proceso se diferencia bastante en su complejidad del envío de correos gmail desde un servidor local.
La función mail en PHP tiene unos variables muy específicas como las siguientes:
$to = "tucorreo@correo.com";
$subject = "Acá va el asunto que verá a quien le envías el correo";
$message = "Este es el cuerpo del correo que se va a enviar";
//Esta es la función que envía el correo
mail($to, $subject, $message);
En el vídeo a continuación se explica el proceso completo paso a paso:
Explicación del como enviar correos desde PHP desde un hosting
El envío del correo, generalmente se utiliza para los formatos de contáctenos, cabe agregar que no todos los hosting tienen la configuración tan sencilla como la tiene Hostinger, por eso recomiendo este proveedor que es con quien tengo alojada mi página personal y de demos https://appscweb.com/
La ventaja que tengo con Hostinger es que con el dominio, ya tengo la opción de 100 correos en mi plan premium, y desde ese correo se envía fácilmente donde se requiera.
En este caso debo primero crear un correo, aunque nunca se use, por ejemplo yo tengo un correo que nunca uso, que se llama hola@appscweb.com que es desde donde envía el contáctenos. No tienes nada más que crear ese correo y ya puedes usar la función mail desde cualquier página desde tu sitio web sin inconvenientes.
En mi ejemplo a continuación muestro el index de mi página personal appscweb.com, tal como la tengo. En el código puedes encontrar que tengo el formulario de contacto, que envía la información a contact_me.php que es quien tiene la lógica de enviar el correo.
En adición está página tiene unas opciones de validación para garantizar que la información del formulario se vaya completa, que no haya campos vacíos y que posterior al envío se vacíe el formulario por eso desde la URL url: “././mail/contact_me.php” el archivo contact_me.js recibe los parámetros para realizar la validación con el método POST
Configuración del hosting para enviar los correos
El método que yo uso para enviar correos gmail desde PHP con la función mail desde mi hosting lo puedes replicar fácilmente con el código que te comparto a continuación, todo lo que debes hacer es crear una carpeta llamada mail y poner dentro de esta el código de contact_me.php, posteriormente crear una carpeta llamada js y poner el archivo contact_me.js dentro de esta.
El archivo index.html lo pones en la carpeta raíz del host y ya con esto te debe funcionar sin inconvenientes.
Archivos relacionados para el proceso del envío de correos desde un hosting
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/png" href="img/favicon.png">
<title>Mauricio Sevilla - Desarrollador PHP</title>
<meta name="description" content="">
<meta name="author" content="">
<meta name="google-site-verification" content="tmNuvXmvZX-7RgCougnA3u_08MjqzcSxA-l_eZudns8" />
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-62KY7R8YTS"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-62KY7R8YTS');
</script>
<!-- Favicons
================================================== -->
<link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon">
<link rel="apple-touch-icon" href="img/apple-touch-icon.png">
<link rel="apple-touch-icon" sizes="72x72" href="img/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="114x114" href="img/apple-touch-icon-114x114.png">
<!-- Bootstrap -->
<link rel="stylesheet" type="text/css" href="css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="fonts/font-awesome/css/font-awesome.css">
<!-- Stylesheet
================================================== -->
<link rel="stylesheet" type="text/css" href="css/style.css">
<link rel="stylesheet" type="text/css" href="css/prettyPhoto.css">
<link href='http://fonts.googleapis.com/css?family=Lato:400,700,900,300' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,700,800,600,300' rel='stylesheet' type='text/css'>
<script type="text/javascript" src="js/modernizr.custom.js"></script>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body id="page-top" data-spy="scroll" data-target=".navbar-fixed-top">
<!-- Header -->
<header id="header">
<div class="intro">
<div class="container">
<div class="row">
<div class="intro-text">
<h1><span class="name">Mauricio Sevilla Britto</span></h1>
<p>Desarrollador #PHP | Técnico #IT | #GrowthHacker</p>
<a href="#about" class="btn btn-default btn-lg page-scroll">Saber más</a> </div>
</div>
</div>
</div>
</header>
<!-- Navigation -->
<div id="nav">
<nav class="navbar navbar-custom">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-main-collapse"> <i class="fa fa-bars"></i> </button>
<a class="navbar-brand page-scroll" href="#page-top">Mauricio Sevilla Britto</a> </div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse navbar-right navbar-main-collapse">
<ul class="nav navbar-nav">
<!-- Hidden li included to remove active class from about link when scrolled up past about section -->
<li class="hidden"> <a href="#page-top"></a> </li>
<li> <a class="page-scroll" href="#about">Acerca de mí</a> </li>
<li> <a class="page-scroll" href="#skills">Skills</a> </li>
<li> <a class="page-scroll" href="#portfolio">Portafolio</a> </li>
<li> <a class="page-scroll" href="#resume">Experiencia</a> </li>
<li> <a class="page-scroll" href="#contact">Contacto</a> </li>
</ul>
</div>
</div>
</nav>
</div>
<!-- About Section -->
<div id="about">
<div class="container">
<div class="section-title text-center center">
<h2>Acerca de mí</h2>
<hr>
</div>
<div class="row">
<div class="col-md-12 text-center"><img src="img/about.jpg" class="img-responsive"></div>
<div class="col-md-8 col-md-offset-2">
<div class="about-text">
<p>Bienvenid@ a mi sitio web personal, soy el fundador de <a href="https://configuroweb.com/">ConfiguroWeb</a>, llevo más de 10 años trabajando en Marketing Digital, procesos de Growth Hacking, Tecnologías de la Información y Desarrollo de Aplicaciones en PHP.</p>
<p>En ConfiguroWeb tengo más de 50 aplicaciones gratuitas desarrolladas en PHP y MySQL, Python, Javascript, Node.js, así como algunas aplicaciones de pago que tengo alojadas en mi página personal.</p>
<p class="text-center"><a class="btn btn-primary" href="./cv/CV.pdf" download><i class="fa fa-download"></i> Descargar mi CV</a></p>
<a href="/images/myw3schoolsimage.jpg" download></a>
</div>
</div>
</div>
</div>
</div>
<!-- Skills Section -->
<div id="skills" class="text-center">
<div class="container">
<div class="section-title center">
<h2>Skills</h2>
<hr>
</div>
<div class="row">
<div class="col-md-4 col-sm-6 skill"> <span class="chart" data-percent="95"> <span class="percent">95</span> </span>
<h4>HTML5</h4>
</div>
<div class="col-md-4 col-sm-6 skill"> <span class="chart" data-percent="85"> <span class="percent">85</span> </span>
<h4>CSS3</h4>
</div>
<div class="col-md-4 col-sm-6 skill"> <span class="chart" data-percent="80"> <span class="percent">80</span> </span>
<h4>PHP</h4>
</div>
<div class="col-md-4 col-sm-6 skill"> <span class="chart" data-percent="80"> <span class="percent">95</span> </span>
<h4>SQL</h4>
</div>
<div class="col-md-4 col-sm-6 skill"> <span class="chart" data-percent="70"> <span class="percent">75</span> </span>
<h4>WordPress</h4>
</div>
<div class="col-md-4 col-sm-6 skill"> <span class="chart" data-percent="65"> <span class="percent">75</span> </span>
<h4>Javasccript</h4>
</div>
</div>
</div>
</div>
<!-- Portfolio Section -->
<div id="portfolio">
<div class="container">
<div class="section-title text-center center">
<h2>Portafolio</h2>
<hr>
</div>
<div class="categories">
<ul class="cat">
<li>
<ol class="type">
<li><a href="#" data-filter="*" class="active">Todo</a></li>
<li><a href="#" data-filter=".php">PHP</a></li>
<li><a href="#" data-filter=".python">Python</a></li>
<li><a href="#" data-filter=".javascript">Javascript</a></li>
</ol>
</li>
</ul>
<div class="clearfix"></div>
</div>
<div class="row">
<div class="portfolio-items">
<div class="col-sm-6 col-md-3 col-lg-3 php">
<div class="portfolio-item">
<div class="hover-bg"> <a href="img/portfolio/Aplicaciones/Sistema-Gestor-de-Archivos-Hecho-en-PHP-y-MySQL.png" title="Sistema Gestor de Archivos Hecho en PHP y MySQL" rel="prettyPhoto">
<div class="hover-text">
<h4>Sistema Gestor de Archivos Hecho en PHP y MySQL</h4>
<small>PHP</small> </div>
<img src="img/portfolio/Aplicaciones/Sistema-Gestor-de-Archivos-Hecho-en-PHP-y-MySQL.png" class="img-responsive" alt="Project Title"> </a> </div>
</div>
</div>
<div class="col-sm-6 col-md-3 col-lg-3 php">
<div class="portfolio-item">
<div class="hover-bg"> <a href="img/portfolio/Aplicaciones/Sistema-de-Gestion-de-Ausencias-de-Personal-desarrollado-en-PHP-y-MySQL.png" title="Sistema de Gestión de Ausencias de Personal desarrollado en PHP y MySQL" rel="prettyPhoto">
<div class="hover-text">
<h4>Sistema de Gestión de Ausencias de Personal desarrollado en PHP y MySQL
</h4>
<small>PHP</small> </div>
<img src="img/portfolio/Aplicaciones/Sistema-de-Gestion-de-Ausencias-de-Personal-desarrollado-en-PHP-y-MySQL.png" class="img-responsive" alt="Project Title"> </a> </div>
</div>
</div>
<div class="col-sm-6 col-md-3 col-lg-3 python">
<div class="portfolio-item">
<div class="hover-bg"> <a href="img/portfolio/Aplicaciones/Portal-para-descargar-videos-de-Youtube-hecho-en-Python-con-Django..png" title="Portal para descargar videos de Youtube hecho en Python con Django" rel="prettyPhoto">
<div class="hover-text">
<h4>Portal para descargar videos de Youtube hecho en Python con Django</h4>
<small>Python</small> </div>
<img src="img/portfolio/Aplicaciones/Portal-para-descargar-videos-de-Youtube-hecho-en-Python-con-Django..png" class="img-responsive" alt="Project Title"> </a> </div>
</div>
</div>
<div class="col-sm-6 col-md-3 col-lg-3 javascript">
<div class="portfolio-item">
<div class="hover-bg"> <a href="img/portfolio/Aplicaciones/Chat-en-Javascript-con-nodejs.png" title="Chat en Javascript con nodejs" rel="prettyPhoto">
<div class="hover-text">
<h4>Chat en Javascript con nodejs</h4>
<small>Javascript</small> </div>
<img src="img/portfolio/Aplicaciones/Chat-en-Javascript-con-nodejs.png" class="img-responsive" alt="Project Title"> </a> </div>
</div>
</div>
<div class="col-sm-6 col-md-3 col-lg-3 python">
<div class="portfolio-item">
<div class="hover-bg"> <a href="img/portfolio/Aplicaciones/3-formas-de-descargar-vídeos-de-Youtube-con-Python-Aplicación-de-Escritorio-y-Online.png" title="3 formas de descargar vídeos de Youtube con Python, Aplicación de Escritorio y Online" rel="prettyPhoto">
<div class="hover-text">
<h4>3 formas de descargar vídeos de Youtube con Python, Aplicación de Escritorio y Online</h4>
<small>Python</small> </div>
<img src="img/portfolio/Aplicaciones/3-formas-de-descargar-vídeos-de-Youtube-con-Python-Aplicación-de-Escritorio-y-Online.png" class="img-responsive" alt="Project Title"> </a> </div>
</div>
</div>
<div class="col-sm-6 col-md-3 col-lg-3 php">
<div class="portfolio-item">
<div class="hover-bg"> <a href="img/portfolio/Aplicaciones/Control-de-Inventarios-ConfiguroWeb.jpg" title="Sistema de Inventario ConfiguroWeb" rel="prettyPhoto">
<div class="hover-text">
<h4>Sistema de Inventario ConfiguroWeb
</h4>
<small>PHP</small> </div>
<img src="img/portfolio/Aplicaciones/Control-de-Inventarios-ConfiguroWeb.jpg" class="img-responsive" alt="Project Title"> </a> </div>
</div>
</div>
<div class="col-sm-6 col-md-3 col-lg-3 javascript">
<div class="portfolio-item">
<div class="hover-bg"> <a href="img/portfolio/Aplicaciones/CRUD-en-Javascript.png" title="CRUD en Javascript" rel="prettyPhoto">
<div class="hover-text">
<h4>CRUD en Javascript
</h4>
<small>Javascript</small> </div>
<img src="img/portfolio/Aplicaciones/CRUD-en-Javascript.png" class="img-responsive" alt="Project Title"> </a> </div>
</div>
</div>
<div class="col-sm-6 col-md-3 col-lg-3 javascript">
<div class="portfolio-item">
<div class="hover-bg"> <a href="img/portfolio/Aplicaciones/Chat-en-Python.png" title="Chat en Python (comparto el código)" rel="prettyPhoto">
<div class="hover-text">
<h4>Chat en Python (comparto el código)
</h4>
<small>Python</small> </div>
<img src="img/portfolio/Aplicaciones/Chat-en-Python.png" class="img-responsive" alt="Project Title"> </a> </div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Achievements Section -->
<div id="achievements" class="text-center">
<div class="container">
<div class="section-title center">
<h2>Algunas Estadísticas</h2>
<hr>
</div>
<div class="row">
<div class="col-md-3 col-sm-3 wow fadeInDown" data-wow-delay="400ms">
<div class="achievement-box"> <span class="count">70000</span>
<h4>Comunidad Construida en número de Seguidores</h4>
</div>
</div>
<div class="col-md-3 col-sm-3 wow fadeInDown" data-wow-delay="600ms">
<div class="achievement-box"> <span class="count">9000</span>
<h4>Visitas al mes en ConfiguroWeb</h4>
</div>
</div>
<div class="col-md-3 col-sm-3 wow fadeInDown" data-wow-delay="200ms">
<div class="achievement-box"> <span class="count">59</span>
<h4>Repositorios en GitHub</h4>
</div>
</div>
<div class="col-md-3 col-sm-3 wow fadeInDown" data-wow-delay="800ms">
<div class="achievement-box"> <span class="count">10</span>
<h4>Experiencia en años de trabajo</h4>
</div>
</div>
</div>
</div>
</div>
<!-- Resume Section -->
<div id="resume" class="text-center">
<div class="container">
<div class="section-title center">
<h2>Experiencia</h2>
<hr>
</div>
<div class="row">
<div class="col-lg-12">
<ul class="timeline">
<li>
<div class="timeline-image">
<h4>Julio 2015 <br>
- <br>
Presente </h4>
</div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4>Kata-SoftWare</h4>
<h4 class="subheading">Consultor Servicio a Cuentas</h4>
</div>
<div class="timeline-body">
<p>Asesoria y Soporte en la gestiones relacionadas con las soluciones tecnólogicas de <a href="https://formiik.com/">Formiik</a> para <a href="https://www.bancow.com.co/">Banco W</a></p>
</div>
</div>
</li>
<li class="timeline-inverted">
<div class="timeline-image">
<h4>Febrero 2010 <br>
- <br>
Presente </h4>
</div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4>ConfiguroWeb</h4>
<h4 class="subheading">Gerente Propietario</h4>
</div>
<div class="timeline-body">
<p>Gestiones de Marketing Digital, Growth Hacking y Desarrollo de Aplicaciones para <a href="https://configuroweb.com">ConfiguroWeb</a></p>
</div>
</div>
</li>
<li>
<div class="timeline-image">
<h4>Enero 2013 <br>
- <br>
Julio 2015 </h4>
</div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4>Teleperformance</h4>
<h4 class="subheading">Technical Support Microsoft</h4>
</div>
<div class="timeline-body">
<p>Gestión y resolución de incidencias técnicas, sobre los productos de Microsoft.
</p>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="section-title center">
<h2>Educación</h2>
<hr>
</div>
<div class="row">
<div class="col-lg-12">
<ul class="timeline">
<!-- Education Section-->
<li>
<div class="timeline-image">
<h4>2019 <br>
- <br>
2017 </h4>
</div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4>Servicio Nacional de Aprendizaje (SENA)</h4>
<h4 class="subheading">Analisis y Desarrollo de Sistemas de Información</h4>
</div>
</div>
</li>
<li class="timeline-inverted">
<div class="timeline-image">
<h4>2009 <br>
- <br>
2013 </h4>
</div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4>Unilatina International College</h4>
<h4 class="subheading">Tecnología en Gestión de Empresas</h4>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
<!-- Contact Section -->
<div id="contact" class="text-center">
<div class="container">
<div class="section-title center">
<h2>Contacto</h2>
<hr>
</div>
<div class="col-md-8 col-md-offset-2">
<div class="col-md-4"> <i class="fa fa-map-marker fa-2x"></i>
<p>Cali,<br>
Colombia</p>
</div>
<div class="col-md-4"> <i class="fa fa-envelope-o fa-2x"></i>
<p>msevillab@gmail.com</p>
</div>
<div class="col-md-4"> <i class="fa fa-phone fa-2x"></i>
<p> +57 316 243 0081</p>
</div>
<div class="clearfix"></div>
</div>
<div class="col-md-8 col-md-offset-2">
<h3>Envíame un mensaje</h3>
<form name="sentMessage" id="contactForm" novalidate>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<input type="text" id="name" class="form-control" placeholder="Nombre" required="required">
<p class="help-block text-danger"></p>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<input type="email" id="email" class="form-control" placeholder="Correo" required="required">
<p class="help-block text-danger"></p>
</div>
</div>
</div>
<div class="form-group">
<textarea name="message" id="message" class="form-control" rows="4" placeholder="Mensaje" required></textarea>
<p class="help-block text-danger"></p>
</div>
<div id="success"></div>
<button type="submit" class="btn btn-default">Enviar Mensaje</button>
</form>
<div class="social">
<ul>
<li><a href="https://www.facebook.com/mauriciosevilabritto"><i class="fa fa-facebook"></i></a></li>
<li><a href="https://twitter.com/configuroweb"><i class="fa fa-twitter"></i></a></li>
<li><a href="https://github.com/configuroweb"><i class="fa fa-github"></i></a></li>
<li><a href="https://www.instagram.com/configuroweb/"><i class="fa fa-instagram"></i></a></li>
<li><a href="https://www.linkedin.com/in/mauricio-sevilla/"><i class="fa fa-linkedin"></i></a></li>
<li><a href="https://www.youtube.com/channel/UCVnrMbml3wUIuwz-oSaIUnA"><i class="fa fa-youtube"></i></a></li>
</ul>
</div>
</div>
</div>
</div>
<div id="footer">
<div class="container text-center">
<div class="fnav">
<p>Para más desarrollos accede a <a href="https://configuroweb.com/" rel="nofollow">ConfiguroWeb</a></p>
</div>
</div>
</div>
<script type="text/javascript" src="js/jquery.1.11.1.js"></script>
<script type="text/javascript" src="js/bootstrap.js"></script>
<script type="text/javascript" src="js/SmoothScroll.js"></script>
<script type="text/javascript" src="js/easypiechart.js"></script>
<script type="text/javascript" src="js/jquery.prettyPhoto.js"></script>
<script type="text/javascript" src="js/jquery.isotope.js"></script>
<script type="text/javascript" src="js/jquery.counterup.js"></script>
<script type="text/javascript" src="js/waypoints.js"></script>
<script type="text/javascript" src="js/jqBootstrapValidation.js"></script>
<script type="text/javascript" src="js/contact_me.js"></script>
<script type="text/javascript" src="js/main.js"></script>
</body>
</html>
contact_me.js
$(function() {
$("input,textarea").jqBootstrapValidation({
preventSubmit: true,
submitError: function($form, event, errors) {
// mensajes de error o eventos adicionales
},
submitSuccess: function($form, event) {
event.preventDefault(); // evitar el comportamiento de envío predeterminado
// obtener valores de FORM
var name = $("input#name").val();
var email = $("input#email").val();
var message = $("textarea#message").val();
var firstName = name; // For Success/Failure Message
// Check for white space in name for Success/Fail message
if (firstName.indexOf(' ') >= 0) {
firstName = name.split(' ').slice(0, -1).join(' ');
}
$.ajax({
url: "././mail/contact_me.php",
type: "POST",
data: {
name: name,
email: email,
message: message
},
cache: false,
success: function() {
// Mensaje de correo enviado
$('#success').html("<div class='alert alert-success'>");
$('#success > .alert-success').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×")
.append("</button>");
$('#success > .alert-success')
.append("<strong>Tu mensaje ha sido enviado </strong>");
$('#success > .alert-success')
.append('</div>');
//limpia todos los campos
$('#contactForm').trigger("reset");
},
error: function() {
// Mensaje fallido
$('#success').html("<div class='alert alert-danger'>");
$('#success > .alert-danger').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×")
.append("</button>");
$('#success > .alert-danger').append("<strong>Sorry " + firstName + ", parece que mi servidor de correo no responde. ¡Por favor, inténtalo de nuevo más tarde!");
$('#success > .alert-danger').append('</div>');
//Limpia todos los campos
$('#contactForm').trigger("reset");
},
})
},
filter: function() {
return $(this).is(":visible");
},
});
$("a[data-toggle=\"tab\"]").click(function(e) {
e.preventDefault();
$(this).tab("show");
});
});
/*Al hacer clic en Ocultar cuadros de error / éxito de ocultación completa * /
$('#name').focus(function() {
$('#success').html('');
});
contact_me.php
<?php
// Valida si los campos están vacios
if(empty($_POST['name']) ||
empty($_POST['email']) ||
empty($_POST['message']) ||
!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
{
echo "Sin argumentos";
return false;
}
$name = $_POST['name'];
$email_address = $_POST['email'];
$message = $_POST['message'];
// Crea el correo electrónico y envía el mensaje
$to = 'msevillab@gmail.com'; // Agregua tu dirección de correo electrónico entre el "" reemplazando msevillab@gmail.com - Aquí es donde el formulario enviará un mensaje.
$email_subject = "Formulario de Contacto Mauricio Sevilla: $name";
$email_body = "Ha recibido un nuevo mensaje del formulario de contacto de su sitio web.\n\n"."Estos son los detalles:\n\nNombre: $name\n\nCorreo: $email_address\n\nMensaje:\n$message";
$headers = "Desde: msevillab@gmail.com\n"; // This is the email address the generated message will be from. We recommend using something like noreply@yourdomain.com.
$headers .= "Responder a: $email_address";
mail($to,$email_subject,$email_body,$headers);
return true;
?>
Contáctame
Si tienes cualquier duda sobre el como enviar correos desde PHP desde un hosting, requieres un desarrollo a medida o asesoría general, me puedes contactar directamente a mi Whatsapp en el siguiente enlace:
https://configuroweb.com/WhatsappMessenger
O por los formularios de contacto, quedo al pendiente
1 comentario sobre «Como enviar correos desde PHP desde un hosting»