easy-mail-cfg/easymailcfg/__init__.py

40 lines
1.2 KiB
Python
Raw Normal View History

2018-04-24 04:09:06 +00:00
#!/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:
2018-04-24 05:51:18 +00:00
inputfile: Path = Path('/srv/easymail.cfg')
if not inputfile.is_file():
raise FileNotFoundError(inputfile)
2023-12-05 03:54:01 +00:00
(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()
2018-04-24 04:09:06 +00:00
Configurator.configure_many(
[
CloudFlareConfigurator,
OpenDkimConfigurator,
PostfixConfigurator,
], {
'domains': domains,
'cf_api': (cf_mail, cf_token,),
2018-08-31 03:38:14 +00:00
'dmarc_mail': dmarc_mail,
'vm_ips': (vm_ip4, vm_ip6),
2023-12-05 03:54:01 +00:00
'secondary': ('secondary', sec4, sec6),
2018-04-24 04:09:06 +00:00
}
)