query = SELECT DISTINCT destination
FROM forwardings_merge
WHERE
- ((regex = 1 AND '%s' REGEXP CONCAT('^',source,'$') ) OR (regex = 0 AND source = '%s'))
+ (
+ (regex = 1 AND CONCAT(SUBSTRING_INDEX('%u', '+', 1), '@%d') REGEXP CONCAT('^',source,'$') )
+ OR
+ (regex = 0 AND source = CONCAT(SUBSTRING_INDEX('%u', '+', 1), '@%d'))
+ )
AND active = 1
- UNION SELECT '%s' AS destination
+ UNION SELECT CONCAT(SUBSTRING_INDEX('%u', '+', 1), '@%d') AS destination
'';
}
{
networking.firewall.allowedTCPPorts = [ 25 465 587 ];
- nixpkgs.overlays = [ (self: super: {
- postfix = super.postfix.override { withMySQL = true; };
- }) ];
users.users."${config.services.postfix.user}".extraGroups = [ "keys" ];
services.filesWatcher.postfix = {
restart = true;
"unix:${config.myServices.mail.milters.sockets.openarc}"
"unix:${config.myServices.mail.milters.sockets.opendmarc}"
];
+
+ smtp_use_tls = true;
+ smtpd_use_tls = true;
+ smtpd_tls_chain_files = builtins.concatStringsSep "," [ "/var/lib/acme/mail/full.pem" "/var/lib/acme/mail-rsa/full.pem" ];
+
+ maximal_queue_lifetime = "6w";
+ bounce_queue_lifetime = "6w";
};
enable = true;
enableSmtp = true;
# This needs to reverse DNS
hostname = config.hostEnv.fqdn;
setSendmail = true;
- sslCert = "/var/lib/acme/mail/fullchain.pem";
- sslKey = "/var/lib/acme/mail/key.pem";
recipientDelimiter = "+";
masterConfig = {
submissions = {
};
};
};
- security.acme2.certs."mail" = {
+ security.acme.certs."mail" = {
+ postRun = ''
+ systemctl restart postfix.service
+ '';
+ extraDomains = {
+ "smtp.immae.eu" = null;
+ };
+ };
+ security.acme.certs."mail-rsa" = {
postRun = ''
systemctl restart postfix.service
'';