Urgent.News

What's breaking now, across thousands of outlets.

Tech

Our email filter keeps two kinds of address, and a Wix subdomain is why it almost kept everything

When a Nakodo business campaign finds a cafe in a places listing, the listing usually gives us a name, an address, a category and a website. What it very often does not give us is an email, and the whole product is email. So we read the business's own website and look for one. The naive version of this is a regex over the HTML. Run that against a few hundred real pub and salon websites and look…

The email filter used by Nakodo business campaigns keeps two kinds of email addresses: those at the site's own name and personal mail addresses. It checks the domain to ensure it matches the business name, excluding those from popular email providers like Gmail, Hotmail, and ISP mailboxes. The system flags any suspicious local parts, like machine-generated codes or long numbers, and personal mail addresses.

The filter's main issue lies in its handling of subdomains from hosting platforms like Wix, SquareSpace, and others. When a business uses a Wix subdomain, the filter incorrectly accepts any email address at the subdomain, allowing Wix's support and marketing emails to pass through. To fix this, the filter should deny emails from known hosting subdomains before checking the business name.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

About me !

Hey everyone! 👋 I’m Adarsh, a CSE student from India. I’m currently focused on backend development, Python, DSA, and open source.

Your tsconfig Is Still Written for TypeScript 5. Here's the Cleanup TS 7 Forces

Most tsconfig.json files are archaeology. Somebody copied one from a starter repo in 2021, somebody else added baseUrl so the @/ imports would work, and a third person set moduleResolution: "node"…

  • TypeScript 7.0 removed deprecated options like types and rootDir.
  • tsconfig.json now defaults to empty types array, preventing automatic loading of nodemodules/@types.
  • rootDir defaults to directory containing tsconfig.json, causing output directory issues.

✨ Meet Swingly — a tiny character that lives on your webpage and swings gently.

I built Swingly, a tiny, playful npm package that brings a little personality to the corner of your website. 🧿 Maybe it’s your evil-eye protector. 🪄 Maybe it’s a tiny charm.

  • Swingly is a tiny npm package adding personality to websites.
  • Offers various characters like evil-eye, charm, or whimsical creatures.
  • Open to community contributions for unique characters and interactions.

One request a second for the whole app, so our place search has no search-as-you-type

Setting up a business campaign in Nakodo means saying where to look. You type a town, a city, a region or a country, press Add, choose which match you meant, and pick a distance.

  • Upstash's Ratelimit library used for rate limiting, allowing one request per second globally.
  • Caching results for 30 days as location data is unlikely to change within that timeframe.

More from Sunday 4 October →