{"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"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>C\u00f3mo enviar emails desde PHP<\/title>\n<meta name=\"description\" content=\"Debemos asegurarnos que nuestro servidor web cumple con los requisitos necesarios para enviar emails.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.tresce.com\/blog\/como-enviar-emails-desde-php\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C\u00f3mo enviar emails desde PHP\" \/>\n<meta property=\"og:description\" content=\"Debemos asegurarnos que nuestro servidor web cumple con los requisitos necesarios para enviar emails.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.tresce.com\/blog\/como-enviar-emails-desde-php\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Tresce\" \/>\n<meta property=\"article:published_time\" content=\"2012-09-05T14:23:12+00:00\" \/>\n<meta name=\"author\" content=\"Diego Francile\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@tresce\" \/>\n<meta name=\"twitter:site\" content=\"@tresce\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Diego Francile\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.tresce.com\/blog\/como-enviar-emails-desde-php\/\",\"url\":\"https:\/\/www.tresce.com\/blog\/como-enviar-emails-desde-php\/\",\"name\":\"C\u00f3mo enviar emails desde PHP\",\"isPartOf\":{\"@id\":\"https:\/\/www.tresce.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.tresce.com\/blog\/como-enviar-emails-desde-php\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.tresce.com\/blog\/como-enviar-emails-desde-php\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.tresce.com\/blog\/wp-content\/uploads\/2012\/09\/emails-php.jpg\",\"datePublished\":\"2012-09-05T14:23:12+00:00\",\"author\":{\"@id\":\"https:\/\/www.tresce.com\/blog\/#\/schema\/person\/9eb1664ad19286040cafda5b34d90233\"},\"description\":\"Debemos asegurarnos que nuestro servidor web cumple con los requisitos necesarios para enviar emails.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.tresce.com\/blog\/como-enviar-emails-desde-php\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.tresce.com\/blog\/como-enviar-emails-desde-php\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.tresce.com\/blog\/como-enviar-emails-desde-php\/#primaryimage\",\"url\":\"https:\/\/www.tresce.com\/blog\/wp-content\/uploads\/2012\/09\/emails-php.jpg\",\"contentUrl\":\"https:\/\/www.tresce.com\/blog\/wp-content\/uploads\/2012\/09\/emails-php.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.tresce.com\/blog\/como-enviar-emails-desde-php\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/www.tresce.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"C\u00f3mo enviar emails desde PHP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.tresce.com\/blog\/#website\",\"url\":\"https:\/\/www.tresce.com\/blog\/\",\"name\":\"Blog Tresce\",\"description\":\"Agencia Marketing y Publicidad Online\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.tresce.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.tresce.com\/blog\/#\/schema\/person\/9eb1664ad19286040cafda5b34d90233\",\"name\":\"Diego Francile\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.tresce.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4d6ed98ae7b116fd3f56a41cdf4d0e21?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4d6ed98ae7b116fd3f56a41cdf4d0e21?s=96&d=mm&r=g\",\"caption\":\"Diego Francile\"},\"description\":\"Developer Manager en Tresce\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"C\u00f3mo enviar emails desde PHP","description":"Debemos asegurarnos que nuestro servidor web cumple con los requisitos necesarios para enviar emails.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.tresce.com\/blog\/como-enviar-emails-desde-php\/","og_locale":"es_ES","og_type":"article","og_title":"C\u00f3mo enviar emails desde PHP","og_description":"Debemos asegurarnos que nuestro servidor web cumple con los requisitos necesarios para enviar emails.","og_url":"https:\/\/www.tresce.com\/blog\/como-enviar-emails-desde-php\/","og_site_name":"Blog Tresce","article_published_time":"2012-09-05T14:23:12+00:00","author":"Diego Francile","twitter_card":"summary_large_image","twitter_creator":"@tresce","twitter_site":"@tresce","twitter_misc":{"Escrito por":"Diego Francile","Tiempo de lectura":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.tresce.com\/blog\/como-enviar-emails-desde-php\/","url":"https:\/\/www.tresce.com\/blog\/como-enviar-emails-desde-php\/","name":"C\u00f3mo enviar emails desde PHP","isPartOf":{"@id":"https:\/\/www.tresce.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.tresce.com\/blog\/como-enviar-emails-desde-php\/#primaryimage"},"image":{"@id":"https:\/\/www.tresce.com\/blog\/como-enviar-emails-desde-php\/#primaryimage"},"thumbnailUrl":"https:\/\/www.tresce.com\/blog\/wp-content\/uploads\/2012\/09\/emails-php.jpg","datePublished":"2012-09-05T14:23:12+00:00","author":{"@id":"https:\/\/www.tresce.com\/blog\/#\/schema\/person\/9eb1664ad19286040cafda5b34d90233"},"description":"Debemos asegurarnos que nuestro servidor web cumple con los requisitos necesarios para enviar emails.","breadcrumb":{"@id":"https:\/\/www.tresce.com\/blog\/como-enviar-emails-desde-php\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.tresce.com\/blog\/como-enviar-emails-desde-php\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.tresce.com\/blog\/como-enviar-emails-desde-php\/#primaryimage","url":"https:\/\/www.tresce.com\/blog\/wp-content\/uploads\/2012\/09\/emails-php.jpg","contentUrl":"https:\/\/www.tresce.com\/blog\/wp-content\/uploads\/2012\/09\/emails-php.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.tresce.com\/blog\/como-enviar-emails-desde-php\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.tresce.com\/blog\/"},{"@type":"ListItem","position":2,"name":"C\u00f3mo enviar emails desde PHP"}]},{"@type":"WebSite","@id":"https:\/\/www.tresce.com\/blog\/#website","url":"https:\/\/www.tresce.com\/blog\/","name":"Blog Tresce","description":"Agencia Marketing y Publicidad Online","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.tresce.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/www.tresce.com\/blog\/#\/schema\/person\/9eb1664ad19286040cafda5b34d90233","name":"Diego Francile","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.tresce.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/4d6ed98ae7b116fd3f56a41cdf4d0e21?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4d6ed98ae7b116fd3f56a41cdf4d0e21?s=96&d=mm&r=g","caption":"Diego Francile"},"description":"Developer Manager en Tresce"}]}},"_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}]}}