import { handleAbuseEmail } from "./abuse-email"; import { handleReplyEmail, isReplyAddress } from "./email-reply"; /** * Entry point for Email Routing. Thread replies go by address prefix, abuse@ to the abuse desk, and * anything else is rejected so a misrouted address can't turn stray mail into abuse reports. */ export async function routeInboundEmail(message: ForwardableEmailMessage): Promise { if (isReplyAddress(message.to)) return handleReplyEmail(message); if (/^abuse(\+[^@]*)?@/.test(message.to.toLowerCase())) return handleAbuseEmail(message); message.setReject("Unknown address"); }