SEM Check
2026-01-25
IP and domain reputation are the bane of a mail operator’s existence.
One set of blocklists you may be unaware of is SEM-FRESH{,10,15,30}, or the
Spam Eating Monkey FRESH lists that
include domains registered in the last 5, 10, 15, and 30 days, respectively.
The primary function of these lists is pretty simple: if your domain is “too
young” to send email, it will show up on one or more of these lists. After the
domain has aged for the specified amount of time, it will be automatically
removed from the list. For more information, you can always read SEM’s
FAQ.
While not every administrator adds these lists to their spam filter(s), it’s pretty safe to assume they do: spammers like to buy new domains and start sending out junk ASAP; these lists attempt to deter that behavior.
If you’re going to run your own mail server with a new domain, whether professionally or personally, it’s best to check your domain has aged at least one month prior to sending your first email to another mail server. Speaking from personal experience, you’ll want to do your best to keep your mail server’s IP and domain reputation in good terms with big players like Google, Microsoft, etc. People are far more likely to read your emails if they don’t have to dig them out of their spam/junk directory.
To check if your domain is on any FRESH lists, point your browser to SEM’s
list query; I’ve also written a Perl
script to check SEM FRESH lists using dig:
#!/usr/bin/env perl
# ex:ts=4 sw=4 et:
#
use v5.36;
die "usage: sem-check domain\n" if (scalar @ARGV != 1);
my ($domain) = @ARGV;
for my $zone (qw/fresh fresh10 fresh15 fresh30/) {
if (`dig +short $domain.$zone.spameatingmonkey.net`) {
say "$domain is listed on SEM-\U$zone\E";
}
}
If you run the script and there’s no output, congrats: your domain is old enough to start sending email to other servers!