{"id":7247,"date":"2026-02-26T11:00:35","date_gmt":"2026-02-26T10:00:35","guid":{"rendered":"https:\/\/vienna.wordcamp.org\/2026\/?post_type=wcb_session&#038;p=7247"},"modified":"2026-04-11T15:18:02","modified_gmt":"2026-04-11T13:18:02","slug":"contributor-challenge-fixing-idn-email-validation-in-wordpress","status":"publish","type":"wcb_session","link":"https:\/\/vienna.wordcamp.org\/2026\/session\/contributor-challenge-fixing-idn-email-validation-in-wordpress\/","title":{"rendered":"Contributor challenge: Fixing Unicode Email Validation in WordPress"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">We Broke It. Now Let\u2019s Fix It.<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Valid email addresses like <code>max@m\u00fcller.de<\/code> or domains such as <code>m\u00fcller.engineer<\/code> are compliant with modern internet standards \u2014 yet WordPress Core and widely used plugins often reject them.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This session kicks off a full-day contributor challenge focused on fixing domain and email validation issues across the WordPress ecosystem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this introduction, we will cover:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Why IDN (Internationalized Domain Names) and UTF-8 email addresses matter<\/li>\n\n\n\n<li>Where WordPress currently fails<\/li>\n\n\n\n<li>How validation works (and where it breaks)<\/li>\n\n\n\n<li>Common pitfalls in Core and plugin implementations<\/li>\n\n\n\n<li>How participants can test and document issues<\/li>\n\n\n\n<li>The structure of our shared documentation portal<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">After this session, participants will spend the day actively testing WordPress Core and popular plugins (newsletter, SMTP, contact forms, etc.), documenting reproducible validation issues.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is not theoretical.<br>We\u2019re here to find real bugs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you would like to help us test popular plugins, or if you build plugins, work on Core, and care about a truly global web \u2014 this challenge is for you.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This session is supported by <a href=\"https:\/\/geotld.group\/geotld-ua-local-initiative\/\">GeoTLDs Universal Acceptance Local Initiative<\/a> as well as <a href=\"https:\/\/www.icann.org\/\">ICANN<\/a>.<\/p>\n\n\n\n<div class=\"wp-block-group is-content-justification-space-between is-nowrap is-layout-flex wp-container-core-group-is-layout-788841da wp-block-group-is-layout-flex\">\n<figure class=\"wp-block-image size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"165\" src=\"https:\/\/vienna.wordcamp.org\/2026\/files\/2026\/02\/geologo.png-300x165.webp\" alt=\"\" class=\"wp-image-8644\" srcset=\"https:\/\/vienna.wordcamp.org\/2026\/files\/2026\/02\/geologo.png-300x165.webp 300w, https:\/\/vienna.wordcamp.org\/2026\/files\/2026\/02\/geologo.png-500x276.webp 500w, https:\/\/vienna.wordcamp.org\/2026\/files\/2026\/02\/geologo.png.webp 729w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"233\" src=\"https:\/\/vienna.wordcamp.org\/2026\/files\/2026\/02\/ICANN_Logo_B_RGB-980x760.jpg-300x233.webp\" alt=\"\" class=\"wp-image-8645\" srcset=\"https:\/\/vienna.wordcamp.org\/2026\/files\/2026\/02\/ICANN_Logo_B_RGB-980x760.jpg-300x233.webp 300w, https:\/\/vienna.wordcamp.org\/2026\/files\/2026\/02\/ICANN_Logo_B_RGB-980x760.jpg-768x596.webp 768w, https:\/\/vienna.wordcamp.org\/2026\/files\/2026\/02\/ICANN_Logo_B_RGB-980x760.jpg-387x300.webp 387w, https:\/\/vienna.wordcamp.org\/2026\/files\/2026\/02\/ICANN_Logo_B_RGB-980x760.jpg.webp 980w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button has-custom-width wp-block-button__width-100\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/vienna.wordcamp.org\/2026\/session\/we-broke-it-now-lets-fix-it-publishing-the-idn-findings\/\">This session has a follow-up session<\/a><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>We Broke It. Now Let\u2019s Fix It. Valid email addresses like max@m\u00fcller.de or domains such as m\u00fcller.engineer are compliant with modern internet standards \u2014 yet WordPress Core and widely used plugins often reject them. This session kicks off a full-day contributor challenge focused on fixing domain and email validation issues across the WordPress ecosystem. In [&hellip;]<\/p>\n","protected":false},"author":20420018,"featured_media":0,"template":"","meta":{"_crdt_document":"","_wcpt_session_time":1775894400,"_wcpt_session_duration":2700,"_wcpt_session_type":"session","_wcpt_session_slides":"","_wcpt_session_video":"","_wcpt_speaker_id":[],"footnotes":""},"session_track":[54],"session_category":[],"class_list":["post-7247","wcb_session","type-wcb_session","status-publish","hentry","wcb_track-track-4"],"jetpack_sharing_enabled":true,"session_date_time":{"date":"April 11, 2026","time":"10:00 am"},"session_speakers":[],"session_cats_rendered":null,"_links":{"self":[{"href":"https:\/\/vienna.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions\/7247","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vienna.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/vienna.wordcamp.org\/2026\/wp-json\/wp\/v2\/types\/wcb_session"}],"author":[{"embeddable":true,"href":"https:\/\/vienna.wordcamp.org\/2026\/wp-json\/wp\/v2\/users\/20420018"}],"version-history":[{"count":10,"href":"https:\/\/vienna.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions\/7247\/revisions"}],"predecessor-version":[{"id":8901,"href":"https:\/\/vienna.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions\/7247\/revisions\/8901"}],"wp:attachment":[{"href":"https:\/\/vienna.wordcamp.org\/2026\/wp-json\/wp\/v2\/media?parent=7247"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/vienna.wordcamp.org\/2026\/wp-json\/wp\/v2\/session_track?post=7247"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/vienna.wordcamp.org\/2026\/wp-json\/wp\/v2\/session_category?post=7247"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}