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<void> {
if (isReplyAddress(message.to)) return handleReplyEmail(message);
if (/^abuse(\+[^@]*)?@/.test(message.to.toLowerCase())) return handleAbuseEmail(message);
message.setReject("Unknown address");
}