{"id":7924,"date":"2022-09-02T16:22:05","date_gmt":"2022-09-02T14:22:05","guid":{"rendered":"https:\/\/www.mathweb.fr\/euclide\/?p=7924"},"modified":"2022-09-02T16:22:07","modified_gmt":"2022-09-02T14:22:07","slug":"une-mailing-list-en-python","status":"publish","type":"post","link":"https:\/\/www.mathweb.fr\/euclide\/2022\/09\/02\/une-mailing-list-en-python\/","title":{"rendered":"Une mailing list en Python"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Comment cr\u00e9er une mailing list \u00e0 l&rsquo;aide de Python ? C&rsquo;est la question que je me suis pos\u00e9e aujourd&rsquo;hui.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">J&rsquo;utilise personnellement Thunderbird, et il permet de de cr\u00e9er des listes de diffusion&#8230; Cependant, il met en copie l&rsquo;adresse mail de tous les autres destinataires. Cela ne me convient pas. Il m&rsquo;a donc fallu faire quelques recherches.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\\lire<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_87 counter-hierarchy ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Au menu sur cette page...<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.mathweb.fr\/euclide\/2022\/09\/02\/une-mailing-list-en-python\/#Mailing_list_et_Python_le_client_mail\" >Mailing list et Python: le client mail<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.mathweb.fr\/euclide\/2022\/09\/02\/une-mailing-list-en-python\/#Les_informations_de_connexion\" >Les informations de connexion<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.mathweb.fr\/euclide\/2022\/09\/02\/une-mailing-list-en-python\/#La_construction_du_message\" >La construction du message<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.mathweb.fr\/euclide\/2022\/09\/02\/une-mailing-list-en-python\/#Lenvoi_du_message\" >L&rsquo;envoi du message<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.mathweb.fr\/euclide\/2022\/09\/02\/une-mailing-list-en-python\/#Mailing_list_et_Python_envoi_de_plusieurs_messages\" >Mailing list et Python: envoi de plusieurs messages<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.mathweb.fr\/euclide\/2022\/09\/02\/une-mailing-list-en-python\/#Connexion_a_une_base_de_donnees\" >Connexion \u00e0 une base de donn\u00e9es<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Mailing_list_et_Python_le_client_mail\"><\/span>Mailing list et Python: le client mail<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La premi\u00e8re chose sur laquelle se pencher est la fa\u00e7on d&rsquo;envoyer un mail \u00e0 l&rsquo;aide de Python.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On va s&rsquo;orienter du c\u00f4t\u00e9 des modules <em>smtp<\/em>, <em>ssl<\/em>, <em>MIMEText<\/em> et <em>MIMEMultipart<\/em>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"false\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import smtplib, ssl\nfrom email.mime.text import MIMEText\nfrom email.mime.multipart import MIMEMultipart<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Les_informations_de_connexion\"><\/span>Les informations de connexion<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Il faut bien entendu informer l&rsquo;adresse du serveur mail ainsi que le port, puis l&rsquo;adresse mail que vous souhaitez utiliser pour envoyer les messages, ainsi que le mot de passe de cet email.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"false\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">smtp_address = 'ssl0.ovh.net'\nsmtp_port = 465\n\nemail_address = 'jean.neymar@free.fr'\nemail_password = 'blablabla?314' # ce n'est qu'un exemple hein ?\nemail_destinataire = 'jeveuxdesvacances@moiaussi.com'<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"La_construction_du_message\"><\/span>La construction du message<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"false\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">message = MIMEMultipart(\"alternative\") # au cas o\u00f9 le destinataire ne saurait pas lire le HTML\nmessage[\"Subject\"] = \"La rentr\u00e9e scolaire est l\u00e0... et moi aussi!\"\nmessage[\"From\"] = email_address\nmessage[\"To\"] = email_destinataire \n\ntexte = '''Bonjour.\nLe corps du message ici.\nAu revoir.'''\n\nhtml = '''\n&lt;html>\n&lt;body>\n&lt;h1>Bonjour.&lt;\/h1>\n&lt;p>Le corps du message ici.&lt;\/p>\n&lt;p>Au revoir.&lt;\/p>\n&lt;\/body>\n&lt;\/html>'''\n\ntexte_mime = MIMEText(texte, 'plain')\nhtml_mime = MIMEText(html, 'html')\n\nmessage.attach(texte_mime)\nmessage.attach(html_mime)<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Comme vous pouvez le voir, il faut envisager le pire, \u00e0 savoir que le logiciel qui va recevoir le mail ne puisse pas lire le format HTML. C&rsquo;est la raison pour laquelle on doit aussi \u00e9crire le texte en brut.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Lenvoi_du_message\"><\/span>L&rsquo;envoi du message<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"false\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">context = ssl.create_default_context()\n\nwith smtplib.SMTP_SSL(smtp_address, smtp_port, context=context) as server:\n    server.login(email_address, email_password)\n    server.sendmail(email_address, email_destinataire, message.as_string())<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Voil\u00e0! Si cela fonctionne, vous \u00eates pr\u00eat\u00b7e\u00b7 pour passer \u00e0 la suite.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Mailing_list_et_Python_envoi_de_plusieurs_messages\"><\/span>Mailing list et Python: envoi de plusieurs messages<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Vous le devinerez s\u00fbrement, mais cette partie est la plus simple puisqu&rsquo;elle ne repose que sur une boucle. Il faut au pr\u00e9alable construire une liste contenant toutes les adresses mails, bien s\u00fbr!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c0 ce niveau, c&rsquo;est \u00e0 vous de construire votre boucle comme vous le souhaitez.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si le message doit rester le m\u00eame alors il peut \u00eatre \u00e0 l&rsquo;ext\u00e9rieur de la boucle et seule l&rsquo;adresse mail du destinataire pourra appara\u00eetre dans la boucle (avec la partie envoi bien s\u00fbr).<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"false\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">destinataires = [ 'xxx@xxx.fr' , 'yyy@xxx.com', ... ]\ncontext = ssl.create_default_context()\nwith smtplib.SMTP_SSL(smtp_address, smtp_port, context=context) as server:\n    server.login(email_address, email_password)\n    for dest in destinataires:\n       message[\"To\"] = dest\n       server.sendmail(email_address, dest, message.as_string())\n   <\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Connexion_a_une_base_de_donnees\"><\/span>Connexion \u00e0 une base de donn\u00e9es<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Il se peut que les adresses mails soient stock\u00e9es dans une base de donn\u00e9es MySQL ou MariaDB.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dans ce cas, il faudra se connecter \u00e0 cette base de donn\u00e9es. Pour MySQL, il y a le module <em>mysql.connector<\/em> et il y a une bonne documentation un peu partout.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Personnellement, j&rsquo;utilise une base MariaDB (je ne sais m\u00eame plus pourquoi&#8230; mais bon!)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dans ce cas, on va utiliser le module <em>mariadb<\/em>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"false\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import mariadb\n\ndestinataires= []\n\ntry:\n    conn = mariadb.connect(\n        user=\"root\",\n        password=\"\",\n        host=\"localhost\",\n        database=\"coursparticuliers\"\n        \n    )\n    \n    cur = conn.cursor()    \n    cur.execute(\"SELECT email FROM clients WHERE actif=1\") # requ\u00eate de s\u00e9lection des emails\n    \n    for nom,prenom,email in cur:\n        liste.append( email )\n    \nexcept mariadb.Error as e:\n    print(f\"Error connecting to MariaDB Platform: {e}\")<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ici, j&rsquo;ai s\u00e9lectionn\u00e9 les adresses mails des clients qui \u00e9taient encore \u00ab\u00a0actifs\u00a0\u00bb (et non les anciens), car ma table \u00ab\u00a0clients\u00a0\u00bb poss\u00e8de une colonne \u00ab\u00a0actif\u00a0\u00bb (bool\u00e9en). Le crit\u00e8re de s\u00e9lection est bien entendu \u00e0 votre convenance&#8230;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Toute cette r\u00e9flexion est venue lorsque je voulais envoyer un mail \u00e0 tous les parents qui font appel \u00e0 moi dans le cadre de mes cours particuliers (<a href=\"https:\/\/courspasquet.fr\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/courspasquet.fr<\/a>).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Comment cr\u00e9er une mailing list \u00e0 l&rsquo;aide de Python ? C&rsquo;est la question que je me suis pos\u00e9e aujourd&rsquo;hui. J&rsquo;utilise personnellement Thunderbird, et il permet de de cr\u00e9er des listes de diffusion&#8230; Cependant, il met en copie l&rsquo;adresse mail de tous les autres destinataires. Cela ne me convient pas. Il [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":7925,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,5],"tags":[362,363],"class_list":["post-7924","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-informatique","category-python","tag-mariadb","tag-mysql"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Une mailing list en Python - Mathweb.fr<\/title>\n<meta name=\"description\" content=\"Comment cr\u00e9er une mailing list \u00e0 l&#039;aide de Python ? La plupart des logiciels le propose mais ils mettent en copie les autres adresses...\" \/>\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.mathweb.fr\/euclide\/2022\/09\/02\/une-mailing-list-en-python\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Une mailing list en Python - Mathweb.fr\" \/>\n<meta property=\"og:description\" content=\"Comment cr\u00e9er une mailing list \u00e0 l&#039;aide de Python ? La plupart des logiciels le propose mais ils mettent en copie les autres adresses...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mathweb.fr\/euclide\/2022\/09\/02\/une-mailing-list-en-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Mathweb.fr\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-02T14:22:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-02T14:22:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2022\/09\/head-articles-python_mailing_list.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"740\" \/>\n\t<meta property=\"og:image:height\" content=\"198\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"St\u00e9phane Pasquet\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"St\u00e9phane Pasquet\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2022\\\/09\\\/02\\\/une-mailing-list-en-python\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2022\\\/09\\\/02\\\/une-mailing-list-en-python\\\/\"},\"author\":{\"name\":\"St\u00e9phane Pasquet\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#\\\/schema\\\/person\\\/e4d3bb07968238378f0d5052a70dcd69\"},\"headline\":\"Une mailing list en Python\",\"datePublished\":\"2022-09-02T14:22:05+00:00\",\"dateModified\":\"2022-09-02T14:22:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2022\\\/09\\\/02\\\/une-mailing-list-en-python\\\/\"},\"wordCount\":454,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#\\\/schema\\\/person\\\/e4d3bb07968238378f0d5052a70dcd69\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2022\\\/09\\\/02\\\/une-mailing-list-en-python\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/head-articles-python_mailing_list.jpg\",\"keywords\":[\"mariadb\",\"mysql\"],\"articleSection\":[\"Informatique\",\"Python\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2022\\\/09\\\/02\\\/une-mailing-list-en-python\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2022\\\/09\\\/02\\\/une-mailing-list-en-python\\\/\",\"url\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2022\\\/09\\\/02\\\/une-mailing-list-en-python\\\/\",\"name\":\"Une mailing list en Python - Mathweb.fr\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2022\\\/09\\\/02\\\/une-mailing-list-en-python\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2022\\\/09\\\/02\\\/une-mailing-list-en-python\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/head-articles-python_mailing_list.jpg\",\"datePublished\":\"2022-09-02T14:22:05+00:00\",\"dateModified\":\"2022-09-02T14:22:07+00:00\",\"description\":\"Comment cr\u00e9er une mailing list \u00e0 l'aide de Python ? La plupart des logiciels le propose mais ils mettent en copie les autres adresses...\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2022\\\/09\\\/02\\\/une-mailing-list-en-python\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2022\\\/09\\\/02\\\/une-mailing-list-en-python\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2022\\\/09\\\/02\\\/une-mailing-list-en-python\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/head-articles-python_mailing_list.jpg\",\"contentUrl\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/head-articles-python_mailing_list.jpg\",\"width\":740,\"height\":198,\"caption\":\"mailing list Python\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2022\\\/09\\\/02\\\/une-mailing-list-en-python\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Une mailing list en Python\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#website\",\"url\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/\",\"name\":\"Mathweb.fr\",\"description\":\"Math\u00e9matiques, LaTeX et Python\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#\\\/schema\\\/person\\\/e4d3bb07968238378f0d5052a70dcd69\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#\\\/schema\\\/person\\\/e4d3bb07968238378f0d5052a70dcd69\",\"name\":\"St\u00e9phane Pasquet\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-logo-mathweb.webp\",\"url\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-logo-mathweb.webp\",\"contentUrl\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-logo-mathweb.webp\",\"width\":74,\"height\":77,\"caption\":\"St\u00e9phane Pasquet\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-logo-mathweb.webp\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Une mailing list en Python - Mathweb.fr","description":"Comment cr\u00e9er une mailing list \u00e0 l'aide de Python ? La plupart des logiciels le propose mais ils mettent en copie les autres adresses...","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.mathweb.fr\/euclide\/2022\/09\/02\/une-mailing-list-en-python\/","og_locale":"fr_FR","og_type":"article","og_title":"Une mailing list en Python - Mathweb.fr","og_description":"Comment cr\u00e9er une mailing list \u00e0 l'aide de Python ? La plupart des logiciels le propose mais ils mettent en copie les autres adresses...","og_url":"https:\/\/www.mathweb.fr\/euclide\/2022\/09\/02\/une-mailing-list-en-python\/","og_site_name":"Mathweb.fr","article_published_time":"2022-09-02T14:22:05+00:00","article_modified_time":"2022-09-02T14:22:07+00:00","og_image":[{"width":740,"height":198,"url":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2022\/09\/head-articles-python_mailing_list.jpg","type":"image\/jpeg"}],"author":"St\u00e9phane Pasquet","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"St\u00e9phane Pasquet","Dur\u00e9e de lecture estim\u00e9e":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.mathweb.fr\/euclide\/2022\/09\/02\/une-mailing-list-en-python\/#article","isPartOf":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2022\/09\/02\/une-mailing-list-en-python\/"},"author":{"name":"St\u00e9phane Pasquet","@id":"https:\/\/www.mathweb.fr\/euclide\/#\/schema\/person\/e4d3bb07968238378f0d5052a70dcd69"},"headline":"Une mailing list en Python","datePublished":"2022-09-02T14:22:05+00:00","dateModified":"2022-09-02T14:22:07+00:00","mainEntityOfPage":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2022\/09\/02\/une-mailing-list-en-python\/"},"wordCount":454,"commentCount":1,"publisher":{"@id":"https:\/\/www.mathweb.fr\/euclide\/#\/schema\/person\/e4d3bb07968238378f0d5052a70dcd69"},"image":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2022\/09\/02\/une-mailing-list-en-python\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2022\/09\/head-articles-python_mailing_list.jpg","keywords":["mariadb","mysql"],"articleSection":["Informatique","Python"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.mathweb.fr\/euclide\/2022\/09\/02\/une-mailing-list-en-python\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.mathweb.fr\/euclide\/2022\/09\/02\/une-mailing-list-en-python\/","url":"https:\/\/www.mathweb.fr\/euclide\/2022\/09\/02\/une-mailing-list-en-python\/","name":"Une mailing list en Python - Mathweb.fr","isPartOf":{"@id":"https:\/\/www.mathweb.fr\/euclide\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2022\/09\/02\/une-mailing-list-en-python\/#primaryimage"},"image":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2022\/09\/02\/une-mailing-list-en-python\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2022\/09\/head-articles-python_mailing_list.jpg","datePublished":"2022-09-02T14:22:05+00:00","dateModified":"2022-09-02T14:22:07+00:00","description":"Comment cr\u00e9er une mailing list \u00e0 l'aide de Python ? La plupart des logiciels le propose mais ils mettent en copie les autres adresses...","breadcrumb":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2022\/09\/02\/une-mailing-list-en-python\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mathweb.fr\/euclide\/2022\/09\/02\/une-mailing-list-en-python\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.mathweb.fr\/euclide\/2022\/09\/02\/une-mailing-list-en-python\/#primaryimage","url":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2022\/09\/head-articles-python_mailing_list.jpg","contentUrl":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2022\/09\/head-articles-python_mailing_list.jpg","width":740,"height":198,"caption":"mailing list Python"},{"@type":"BreadcrumbList","@id":"https:\/\/www.mathweb.fr\/euclide\/2022\/09\/02\/une-mailing-list-en-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.mathweb.fr\/euclide\/"},{"@type":"ListItem","position":2,"name":"Une mailing list en Python"}]},{"@type":"WebSite","@id":"https:\/\/www.mathweb.fr\/euclide\/#website","url":"https:\/\/www.mathweb.fr\/euclide\/","name":"Mathweb.fr","description":"Math\u00e9matiques, LaTeX et Python","publisher":{"@id":"https:\/\/www.mathweb.fr\/euclide\/#\/schema\/person\/e4d3bb07968238378f0d5052a70dcd69"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mathweb.fr\/euclide\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":["Person","Organization"],"@id":"https:\/\/www.mathweb.fr\/euclide\/#\/schema\/person\/e4d3bb07968238378f0d5052a70dcd69","name":"St\u00e9phane Pasquet","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2025\/06\/cropped-logo-mathweb.webp","url":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2025\/06\/cropped-logo-mathweb.webp","contentUrl":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2025\/06\/cropped-logo-mathweb.webp","width":74,"height":77,"caption":"St\u00e9phane Pasquet"},"logo":{"@id":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2025\/06\/cropped-logo-mathweb.webp"}}]}},"_links":{"self":[{"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/posts\/7924","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/comments?post=7924"}],"version-history":[{"count":0,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/posts\/7924\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/media\/7925"}],"wp:attachment":[{"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/media?parent=7924"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/categories?post=7924"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/tags?post=7924"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}