Skip to content
Role-Based Email Detection

Role-Based Email Detection

The role subcommand manages the dictionary of role-based email prefixes used to identify non-personal mailboxes (team, department, system, marketing, etc.).

Overview

smtp-probe automatically detects role-based email addresses during verify, check, and report commands. Role addresses (e.g., admin@example.com, support@example.com, marketing@example.com) are typically not monitored by a specific individual and may have different response characteristics.

Role Categories

CategoryDescriptionExamples
MARKETINGMarketing / promotionsmarketing@, newsletter@, promo@
NOTIFICATIONSystem notificationsnoreply@, no-reply@, bounce@
MEETINGMeeting / schedulingbooking@, reserve@, meeting@
OTHEROther role addressesadmin@, support@, info@, sales@

Role List Commands

List registered prefixes

smtp-probe role list

Sample output:

📧 Role-based Email Prefixes
  MARKETING     42 entries
  NOTIFICATION  28 entries
  MEETING       15 entries
  OTHER         37 entries

  TOTAL         122 entries

Update from upstream source

The role prefix list is sourced from mixmaxhq/role-based-email-addresses:

smtp-probe role update

This downloads the latest upstream list, regenerates pkg/role/data.go, and prints the total count. Note: you need to re-run go build to pick up the changes after updating.

Output in Verify/Check

When a role address is detected, the output includes a warning:

   Role       : ⚠ Yes (MARKETING)

How It Works

  1. The username part (before @) is extracted from the email address.
  2. The username is looked up in the role prefix registry (case-insensitive).
  3. If matched, IsRole is set to true and RoleCategory contains the classification.
  4. The role classification happens before SMTP verification, so it applies regardless of the verification path (direct or pool).