easy-mail-cfg/easymailcfg/__init__.py

40 lines
1.2 KiB
Python

#!/usr/bin/env python3
# -*- encoding: utf-8 -*-
from pathlib import Path
from .configurator import Configurator
from .postfix import PostfixConfigurator
from .opendkim import OpenDkimConfigurator
from .cloudflare import CloudFlareConfigurator
def main() -> None:
inputfile: Path = Path('/srv/easymail.cfg')
if not inputfile.is_file():
raise FileNotFoundError(inputfile)
(cf_mail,
cf_token,
dmarc_mail,
vm_ip4,
vm_ip6,
*domains) = list(map(str.strip, inputfile.read_text().splitlines()))
sec4file = Path('/srv/secondary.4.cfg')
sec6file = Path('/srv/secondary.6.cfg')
sec4, sec6 = None, None
if sec4file.is_file() and sec6file.is_file():
sec4 = sec4file.read_text().strip().split(' ')[0].strip()
sec6 = sec6file.read_text().strip().split(' ')[0].strip()
Configurator.configure_many(
[
CloudFlareConfigurator,
OpenDkimConfigurator,
PostfixConfigurator,
], {
'domains': domains,
'cf_api': (cf_mail, cf_token,),
'dmarc_mail': dmarc_mail,
'vm_ips': (vm_ip4, vm_ip6),
'secondary': ('secondary', sec4, sec6),
}
)