{"id":272,"date":"2016-07-22T02:11:44","date_gmt":"2016-07-22T00:11:44","guid":{"rendered":"http:\/\/lab.fawno.com\/?p=272"},"modified":"2022-03-07T13:39:56","modified_gmt":"2022-03-07T12:39:56","slug":"","status":"publish","type":"post","link":"https:\/\/lab.fawno.com\/en\/2016\/07\/22\/fawnoemail-enviar-emails-desde-cakephp-con-imagenes-embebidas\/","title":{"rendered":"","raw":""},"content":{"rendered":"","protected":false,"raw":""},"excerpt":{"rendered":"","protected":false,"raw":""},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_typography_data":[],"_editorskit_blocks_typography":"","_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_es_post_content":"\n
Una de las ventajas de utilizar un Framework<\/a> como CakePHP<\/a> es que enviar emails es muy sencillo.<\/p>\n\n\n\n Sin embargo hay dos cosas que la clase CakeEmail no hace:<\/p>\n\n\n\n Para solucionar ambos puntos he creado una clase que extiende a CakeEmail dot\u00e1ndola de estas funcionalidades: FawnoEmail<\/a>.<\/p>\n\n\n\n Para a\u00f1adir la detecci\u00f3n de los tipos MIME he clonado la funci\u00f3n attachments<\/a> de la clase original y le he a\u00f1adido el siguiente c\u00f3digo:<\/p>\n\n\n\n B\u00e1sicamente CakeEmail establece el MimeType como 'application\/octet-stream' para todos los adjuntos que no especifiquen expl\u00edcitamente un MimeType. Lo que he hecho es detectar si existe la funci\u00f3n \"mime_content_type<\/a>\" y usarla en caso afirmativo.<\/p>\n\n\n\n En teor\u00eda la funci\u00f3n \"mime_content_type\" existe desde la versi\u00f3n 4.3 de PHP y por tanto no ser\u00eda necesario comprobar la existencia de la funci\u00f3n...<\/p>\n\n\n\nif (!isset($fileInfo['mimetype'])) {\n if (function_exists('mime_content_type')) {\n $fileInfo['mimetype'] = mime_content_type($fileInfo['file']);\n } else {\n $fileInfo['mimetype'] = 'application\/octet-stream';\n }\n}<\/pre>\n\n\n\n