in
{
config = lib.mkIf config.myServices.mail.enable {
+ myServices.dns.zones."immae.eu".emailPolicies."lists".receive = true;
+ myServices.dns.zones."immae.eu".subdomains.lists =
+ with config.myServices.dns.helpers; lib.mkMerge [
+ (ips servers.eldiron.ips.main)
+ (mailCommon "immae.eu")
+ mailSend
+ ];
+
+ myServices.chatonsProperties.services.sympa = {
+ file.datetime = "2022-08-22T00:50:00";
+ service = {
+ name = "Sympa";
+ description = "Mailing lists service";
+ website = "https://mail.immae.eu/sympa";
+ logo = "https://mail.immae.eu/static-sympa/icons/favicon_sympa.png";
+ status.level = "OK";
+ status.description = "OK";
+ registration."" = ["MEMBER" "CLIENT"];
+ registration.load = "OPEN";
+ install.type = "PACKAGE";
+ };
+ software = {
+ name = "Sympa";
+ website = "https://www.sympa.org/";
+ license.url = "https://github.com/sympa-community/sympa/blob/sympa-6.2/COPYING";
+ license.name = "GNU General Public License v2.0";
+ version = pkgs.sympa.version;
+ source.url = "https://github.com/sympa-community/sympa/";
+ };
+ };
myServices.databases.postgresql.authorizedHosts = {
backup-2 = [
{
username = "sympa";
database = "sympa";
- ip4 = [config.myEnv.servers.backup-2.ips.main.ip4];
- ip6 = config.myEnv.servers.backup-2.ips.main.ip6;
+ ip4 = config.myEnv.servers.backup-2.ips.main.ip4;
+ ip6 = map (v: "${v}/128") config.myEnv.servers.backup-2.ips.main.ip6;
}
];
};
sympa_virtual = pkgs.writeText "virtual.sympa" ''
sympa-request@${domain} postmaster@immae.eu
sympa-owner@${domain} postmaster@immae.eu
-
- sympa-request@cip-ca.fr postmaster@immae.eu
- sympa-owner@cip-ca.fr postmaster@immae.eu
'';
sympa_transport = pkgs.writeText "transport.sympa" ''
${domain} error:User unknown in recipient table
listmaster@${domain} sympa:listmaster@${domain}
bounce@${domain} sympabounce:sympa@${domain}
abuse-feedback-report@${domain} sympabounce:sympa@${domain}
-
- sympa@cip-ca.fr sympa:sympa@cip-ca.fr
- listmaster@cip-ca.fr sympa:listmaster@cip-ca.fr
- bounce@cip-ca.fr sympabounce:sympa@cip-ca.fr
- abuse-feedback-report@cip-ca.fr sympabounce:sympa@cip-ca.fr
'';
};
config = {
webHost = "mail.immae.eu";
webLocation = "/sympa";
};
- "cip-ca.fr" = {
- webHost = "mail.cip-ca.fr";
- webLocation = "/sympa";
- };
};
database = {
log_smtp = "on";
sendmail_aliases = "/var/lib/sympa/sympa_transport";
aliases_program = "${pkgs.postfix}/bin/postmap";
+ create_list = "listmaster";
};
settingsFile = {
"virtual.sympa".enable = false;