{"id":2491,"date":"2012-09-05T16:23:12","date_gmt":"2012-09-05T14:23:12","guid":{"rendered":"http:\/\/www.mkeficaz.com\/?p=2491"},"modified":"2012-09-05T16:23:12","modified_gmt":"2012-09-05T14:23:12","slug":"como-enviar-emails-desde-php","status":"publish","type":"post","link":"https:\/\/www.tresce.com\/blog\/como-enviar-emails-desde-php\/","title":{"rendered":"C\u00f3mo enviar emails desde PHP"},"content":{"rendered":"<p>Una gran proporci\u00f3n de los sitios web env\u00edan correos electr\u00f3nicos para suscribirse a un newsletter, para pedir informaci\u00f3n sobre un producto, para enviar un curr\u00edculum vitae, etc;<strong> por lo que nos debemos asegurar que nuestro servidor web cumple con los requisitos necesarios para enviar emails<\/strong>.<\/p>\n<p><a href=\"https:\/\/www.tresce.com\/blog\/wp-content\/uploads\/2012\/09\/emails-php.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-2501\" title=\"emails php\" src=\"https:\/\/www.tresce.com\/blog\/wp-content\/uploads\/2012\/09\/emails-php.jpg\" alt=\"emails php\" width=\"150\" height=\"150\" \/><\/a>En esta entrada vamos a tomar como ejemplo una aplicaci\u00f3n que est\u00e9 escrita en el lenguaje PHP,<strong> vamos a ver dos opciones para el env\u00edo de correo que no son excluyentes entre s\u00ed<\/strong> pero que dependiendo de la configuraci\u00f3n del servidor es posible que tengamos que escoger una a la fuerza:<br \/>\n<!--more--><\/p>\n<p><strong>1\u00aa opci\u00f3n:<\/strong>\u00a0 PHP trae de forma nativa una funci\u00f3n llamada mail, que en una simple linea de c\u00f3digo nos permite realizar el env\u00edo de emails:<\/p>\n<p><em>mail(&#8216;email del destinatario&#8217;,&#8217;asunto del email&#8217;,&#8217;cuerpo del mensaje&#8217;);<\/em><\/p>\n<p>Tambi\u00e9n, como es natural y muchas veces necesario, se puede agregar un cuarto par\u00e1metro para las cabeceras (codificaci\u00f3n, responder a, con copia a, copia oculta, etc).<\/p>\n<p>Parece que esta funci\u00f3n es la panacea, una linea y ya tenemos solucionado el problema&#8230; Pero no siempre es tan f\u00e1cil, <strong>pongamos dos ejemplos donde esta funci\u00f3n dejar\u00eda de funcionar o no ser\u00eda la soluci\u00f3n m\u00e1s adecuada<\/strong>:<\/p>\n<ul>\n<li>Si nuestro servidor dedicado alberga muchos sitios web puede ser que nos \u00abbloqueen\u00bb por un tema de SPAM o que el consumo del servicio de env\u00edo de correos sea tan alto que ralentice el funcionamiento del servidor.<\/li>\n<li>Si lo que contratamos es un servidor compartido, puede ser que por temas de seguridad la empresa contratada tenga bloqueada esta funci\u00f3n.<\/li>\n<\/ul>\n<p><strong>2\u00aa opci\u00f3n:<\/strong>\u00a0 Si nuestra situaci\u00f3n se ve reflejada en alguno de los puntos anteriores, y no logramos convencer a nuestra empresa de hosting que nos habiliten la funci\u00f3n, la \u00fanica opci\u00f3n que nos queda es descargar alguna librer\u00eda externa de PHP como por ejemplo PHPMailer (link <a title=\"phpmailer.worxware.com\" href=\"http:\/\/phpmailer.worxware.com\/\" target=\"_blank\">http:\/\/phpmailer.worxware.com\/<\/a>) y configurar un SMTP externo.<\/p>\n<p>Por ejemplo, si tenemos alguna cuenta de GMAIL, nos ofrecer\u00e1 los datos necesarios para poder enviar correos (nombre, contrase\u00f1a, puertos, cifrados, etc).<\/p>\n<p>La funcionalidad de usar una librer\u00eda externa es viable y segura, siempre y cuando el servidor SMTP que usemos est\u00e9 activo y funcionando con normalidad.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Una gran proporci\u00f3n de los sitios web env\u00edan correos electr\u00f3nicos para suscribirse a un newsletter, para pedir informaci\u00f3n sobre un producto, para enviar un curr\u00edculum vitae, etc; por lo que nos debemos asegurar que nuestro servidor web cumple con los requisitos necesarios para enviar emails. En esta entrada vamos a tomar como ejemplo una aplicaci\u00f3n [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[42],"tags":[],"class_list":["post-2491","post","type-post","status-publish","format-standard","hentry","category-desarrollo-web"],"_links":{"self":[{"href":"https:\/\/www.tresce.com\/blog\/wp-json\/wp\/v2\/posts\/2491","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tresce.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tresce.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tresce.com\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tresce.com\/blog\/wp-json\/wp\/v2\/comments?post=2491"}],"version-history":[{"count":0,"href":"https:\/\/www.tresce.com\/blog\/wp-json\/wp\/v2\/posts\/2491\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tresce.com\/blog\/wp-json\/wp\/v2\/media?parent=2491"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tresce.com\/blog\/wp-json\/wp\/v2\/categories?post=2491"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tresce.com\/blog\/wp-json\/wp\/v2\/tags?post=2491"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}