{"id":136475,"date":"2021-12-27T15:42:05","date_gmt":"2021-12-27T14:42:05","guid":{"rendered":"https:\/\/multi.liora.io\/?p=136475"},"modified":"2026-02-09T15:43:36","modified_gmt":"2026-02-09T14:43:36","slug":"como-mandar-un-email-con-python","status":"publish","type":"post","link":"https:\/\/liora.io\/es\/como-mandar-un-email-con-python","title":{"rendered":"Como mandar un email con Python?"},"content":{"rendered":"<p><strong>Mientras que desarrollamos un proyecto de Data Science, puede ser interesante crear un sistema de notificaciones. Cuando se produce un error, se debe prevenir al administrador del sistema, cuando se termina una rutina se debe enviar un informe a el <a href=\"https:\/\/liora.io\/es\/formacion-data-engineer\">data engineer<\/a>, cuando un modelo de Machine Learning termina de entrenar, se debe prevenir a los <a href=\"https:\/\/liora.io\/es\/formacion-data-scientist\">data scientists<\/a>.<\/strong><\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"180\" height=\"257\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/10\/bigbrother.png\" alt=\"Big brother\" loading=\"lazy\"><figcaption>No se puede estar en todos lados al mismo tiempo<\/figcaption><\/figure>\n<h2><b>Existen herramientas como Prometheus que permiten definir esas alertas y el comportamiento a adoptar, pero tambi\u00e9n es interesante saber como enviar un email con las propias bibliotecas de base de Python.\n<\/b><\/h2>\nEn primer lugar, se necesita, obviamente, una direcci\u00f3n de correo electr\u00f3nico. Esta se encuentra alojada en un proveedor que puede poner a nuestra disposici\u00f3n informaciones sobre el<b> servidor SMTP<\/b> (Simple Mail Transfer Protocol): una <b>direcci\u00f3n <\/b>y un <b>puerto <\/b>(generalmente 465 o 568).\n\nPor ejemplo:\n<ul>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\">Gmail: smtp.gmail.com&nbsp;<\/li>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\">YahooMail: smtp.mail.yahoo.com<\/li>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\">Outlook: smtp.office365.com<\/li>\n<\/ul>\nPor detr\u00e1s, solo hace falta conectarse a nuestro servidor SMTP utilizando las bibliotecas <a href=\"https:\/\/docs.python.org\/3\/library\/smtplib.html\">SMTPLIB <\/a>y <a href=\"https:\/\/docs.python.org\/3\/library\/ssl.html\">SSL <\/a>de Python.\n\nTan sencillo como eso. Ahora bien, el email no es muy atractivo y no tiene objeto pero al menos ya tenemos la base.\n\nAhora debemos intentar lograr un email m\u00e1s trabajado utilizando c\u00f3digo <b>HTML<\/b>. Para ello, vamos a utilizar la biblioteca email:\n\nY eso es todo! Dicho esto, no es una raz\u00f3n para comenzar a usarlo para estafas o para spam.\n\nL\u2019envoi de mails n\u2019est certes pas l\u2019outil le plus fr\u00e9quemment utilis\u00e9 par les Data Scientists et les Data Engineers mais parfois, il s\u2019av\u00e8re que c\u2019est la fa\u00e7on la plus simple de pr\u00e9venir qu\u2019un \u00e9v\u00e9nement est arriv\u00e9.&nbsp;\n\nHablando de mails, todav\u00eda no te has<b> inscrito a nuestra Newsletter?<\/b>\n\n<b>\u00a1No esperes m\u00e1s! <\/b>Descubre las<b> novedades sobre la Data y la IA especialmente seleccionadas por nuestro equipo cada semana<\/b> para que disfrutes y te mantengas informado. <b>?<\/b>\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"https:\/\/6fdb24d0.sibforms.com\/serve\/MUIEAK6UnrbR236UIB9QygO2ap6AQtaii7bMdnFUBKwbvV7knWSCcYwRdisgEXpe-qT7m-GT0as6Fh7JpaLdiwD0_5Cep5Ps3qEScmsvKrZh6NymnqcSrSFpJNirHNaUlqRAXBosIGGdsaWj1pYFbrgisoTFC0bnBnpW5x8XX4azcIPeA7PGuo-f-22EQgqvnjipuXZ4W9nU8ext\">Inscribirme a la Newsletter<\/a><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Mientras que desarrollamos un proyecto de Data Science, puede ser interesante crear un sistema de notificaciones. Cuando se produce un error, se debe prevenir al administrador del sistema, cuando se termina una rutina se debe enviar un informe a el data engineer, cuando un modelo de Machine Learning termina de entrenar, se debe prevenir a [&hellip;]<\/p>\n","protected":false},"author":74,"featured_media":12555,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_theme","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2439],"class_list":["post-136475","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-dev"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/136475","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/users\/74"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/comments?post=136475"}],"version-history":[{"count":1,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/136475\/revisions"}],"predecessor-version":[{"id":183559,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/136475\/revisions\/183559"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/media\/12555"}],"wp:attachment":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/media?parent=136475"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/categories?post=136475"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}