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
| Category | Description | Examples |
|---|---|---|
| MARKETING | Marketing / promotions | marketing@, newsletter@, promo@ |
| NOTIFICATION | System notifications | noreply@, no-reply@, bounce@ |
| MEETING | Meeting / scheduling | booking@, reserve@, meeting@ |
| OTHER | Other role addresses | admin@, support@, info@, sales@ |
Role List Commands
List registered prefixes
smtp-probe role listSample output:
📧 Role-based Email Prefixes
MARKETING 42 entries
NOTIFICATION 28 entries
MEETING 15 entries
OTHER 37 entries
TOTAL 122 entriesUpdate from upstream source
The role prefix list is sourced from mixmaxhq/role-based-email-addresses:
smtp-probe role updateThis 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
- The
usernamepart (before@) is extracted from the email address. - The username is looked up in the role prefix registry (case-insensitive).
- If matched,
IsRoleis set totrueandRoleCategorycontains the classification. - The role classification happens before SMTP verification, so it applies regardless of the verification path (direct or pool).