class SpamAssassinInvoker {

    public SpamAssassinResult scanMail(MimeMessage message, Username username) throws MessagingException {
        return metricFactory.decorateSupplierWithTimerMetric(
            "spamAssassin-check",
            Throwing.supplier(
                () -> scanMailWithAdditionalHeaders(message,
                    "User: " + username.asString()))
                .sneakyThrow());
    }

    public  SpamAssassinInvoker(MetricFactory metricFactory, String spamdHost, int spamdPort);

}