I have read the documentation in detail and here is bare minimum config which I cannot figure out how to relay all my emails to external Maileroo SMTP with authentication. Please check the config and help if possible. local kumo = require 'kumo' local dkim_sign = require 'policy-extras.dkim_sign' local log_hooks = require 'policy-extras.log_hooks' -- INIT kumo.on('init', function() kumo.define_spool { name = 'data', path = '/var/spool/kumod/data' } kumo.define_spool { name = 'meta', path = '/var/spool/kumod/meta' } local relay_hosts_list = { '127.0.0.1', '::1', '10.0.0.0/8' } kumo.start_esmtp_listener { listen = '0.0.0.0:25', hostname = 'xyz.com', relay_hosts = relay_hosts_list, } kumo.start_esmtp_listener { listen = '0.0.0.0:587', hostname = 'xyz.com', tls_certificate = '/opt/kumomta/etc/ssl/STAR_xyz.com.pem', tls_private_key = '/opt/kumomta/etc/ssl/tes_pri.key', relay_hosts = relay_hosts_list, } kumo.start_http_listener { listen = '0.0.0.0:9090', trusted_hosts = { '127.0.0.1', '172.29.100.62' }, use_tls = false, } kumo.configure_local_logs { log_dir = '/var/log/kumomta', meta = { 'route_via_maileroo' }, } pcall(dkim_sign.setup, dkim_sign, { '/opt/kumomta/etc/dkim_data.toml', default_policy = 'SignIfPossible', }) end) -- REGISTER EGRESS SOURCE kumo.on('get_egress_source', function(name) if name == 'maileroo_source' then return kumo.make_egress_source { name = 'maileroo_source', ehlo_domain = 'xyz.com', source_address = '172.16.7.166', remote_port = 587, -- outgoing port enable_starttls = true, smtp_auth = { type = 'plain', username = 'billing@xyz.com', password = 'XYZ_Password', }, ha_proxy_server = nil, -- optional } end end) -- REGISTER EGRESS POOL kumo.on('get_egress_pool', function(name) if name == 'maileroo_pool' then return kumo.make_egress_pool { name = 'maileroo_pool', entries = { { name = 'maileroo_source', weight = 1 } }, } end end) -- FORCE ALL OUTBOUND TO MAILEROO kumo.on('route_message', function(msg) msg:set_meta('route_via_maileroo', true) msg:set_meta('egress_pool', 'maileroo_pool') return { action = 'accept' } end) -- QUEUE CONFIG kumo.on('get_queue_config', function(queue_name) return kumo.make_queue_config { egress_pool = 'maileroo_pool', retry_interval = '5 minutes', max_age = '5 days', } end) Also confirm if KumoMTA cannot directly relay to an external SMTP requiring authentication via make_egress_source function.