* Sun Dec 15 2024 Jean-Philippe Pialasse <jpp@koozali.org> 1.0-5.sme

- add mini-qmail as Message delivery agent  [SME: 12737]
  few other fixes; +x on needed executable files
  migrate old qmail properties used in postfix
  catch all non existing recipient / check BCC working
This commit is contained in:
Jean-Philippe Pialasse 2024-12-16 17:14:34 -05:00
parent 0cec86dcb7
commit 0e6e82c9a1
4 changed files with 47 additions and 23 deletions

View File

@ -51,20 +51,23 @@ DONE
* main domain * main domain
* listen only socket * listen only socket
* virtual alias for system, pseudonyms, groups, shared * virtual alias for system, pseudonyms, groups, shared
* forward email support via .qmail
* spam filtering to .junk
* .qmail support using mini-qmail + wrapper and seakablepipe
* maildrop/procmail support directly via .qmail
* check /usr/sbin/sendmail -> /etc/alternatives/mta -> /usr/sbin/sendmail.postfix
* EmailUnknownUser support use luser_relay. if we had virtual domain we could not use it
* migrate and remove qmail properties to postfix
TODO TODO
* regression: forward email support via .qmail or .forward
* regression: spam filtering to .junk
* regression: .qmail support or alternative via .forward
* regression: maildrop/procmail support directly or via .forward or via .qmail support
* regression: EmailUnknownUser support ( we can not use luser_relay as we use virtual_alias (this might need to add all unix accoutns in this virtual map and also all needed content of /etc/aliases when not returntosender)
* switch smeserver-qpsmtpd support to postfix
* check /usr/sbin/sendmail -> /etc/alternatives/mta -> /usr/sbin/sendmail.postfix upon removal/update of qmail
* .foward support
* remove from smeserver-mail /usr/local/sbin/smtp-auth-proxy.pl * remove from smeserver-mail /usr/local/sbin/smtp-auth-proxy.pl
* migrate and rewrite code for smtp-auth-proxy properties * migrate and rewrite code for smtp-auth-proxy properties
* migrate and remove qmail properties to postfix * make a copy of /var/qmail/control/smtproutes to (su)qpsmtpd/config/smtproutes
* make a copy of qmail/config/smtproutes to (su)qpsmtpd/config/smtproutes
FUTURE
* .foward support, when/if .qmail support is dropped
* TODO VirtualMail for domain with catchall and EmailUnknownUser ( we can not use luser_relay if we use virtual_alias
* ldap / AD user support
TO CHECK TO CHECK
$prop->{Blacklist} = $smtp_proxy_rec->prop('Blacklist') || " "; $prop->{Blacklist} = $smtp_proxy_rec->prop('Blacklist') || " ";
@ -80,11 +83,11 @@ domain
config config
* DelegateMailServer * DelegateMailServer
* SMTPSmartHost * SMTPSmartHost
* qmail/postfix->MaxMessageSize defined as 15Mb * postfix->MaxMessageSize defined as 15Mb
* qmail/postfix->FilterType (empty) * postfix->FilterType (empty)
* qmail/postfix->ConcurrencyRemote default to 20 * postfix->ConcurrencyRemote default to 20
* qmail/postfix->ConcurrencyLocal default to 20 * postfix->ConcurrencyLocal default to 20
* qmail/postfix->DoubleBounceTo default to postmaster * postfix->DoubleBounceTo default to postmaster
* postfix->tls_security_level default to may * postfix->tls_security_level default to may
* postfix->tls_enforce_peername default to yes * postfix->tls_enforce_peername default to yes
* $qpsmtpd{HeloHost} default to $myhostname * $qpsmtpd{HeloHost} default to $myhostname
@ -95,6 +98,7 @@ config
* EmailUnknownUser (default to returntosender) * EmailUnknownUser (default to returntosender)
REFERENCES REFERENCES
* https://unix.stackexchange.com/questions/93197/postfix-configuration-to-verify-all-recipients
* https://phoenixnap.com/kb/postfix-smtp * https://phoenixnap.com/kb/postfix-smtp
* https://www.gentei.org/~yuuji/software/dotqmail/ * https://www.gentei.org/~yuuji/software/dotqmail/
* https://www.gentei.org/~yuuji/software/dotqmail/dotqmail * https://www.gentei.org/~yuuji/software/dotqmail/dotqmail

View File

@ -0,0 +1,14 @@
{
# migrate qmail -> postfix MaxMessageSize FilterType ConcurrencyRemote ConcurrencyLocal DoubleBounceTo
# we keep qmail as MDA so we can leave DeliveryType DeliveryInstruction
for ( qw( MaxMessageSize FilterType ConcurrencyRemote ConcurrencyLocal DoubleBounceTo) ) {
my $sa = $DB->get('qmail') or next;
my $value=$DB->get_prop_and_delete('qmail',$_) or next;
next if (exists $postfix{$_});
$DB->set_prop('postfix', $_ , $value);
}
# TODO we migrate smtp-auth-proxy ; SMTPSmartHost Userid Passwd PeerPort
}

View File

@ -0,0 +1,6 @@
{
# we use the value of EmailUnknownUser (default to returntosender)
return "# we bounce all unknown address $EmailUnknownUser not set or equal to returntosender " unless (defined $EmailUnknownUser and $EmailUnknownUser ne 'returntosender');
$OUT ="luser_relay = $EmailUnknownUser";
}

View File

@ -1,6 +1,6 @@
%define name smeserver-postfix %define name smeserver-postfix
%define version 1.0 %define version 1.0
%define release 4 %define release 5
Summary: This is what smeserver-postfix does. Summary: This is what smeserver-postfix does.
Name: %{name} Name: %{name}
Version: %{version} Version: %{version}
@ -24,11 +24,11 @@ AutoReqProv: no
Koozali SME Server wrapper to configure postfix Koozali SME Server wrapper to configure postfix
%changelog %changelog
* Sun Dec 15 2024 Jean-Philippe Pialasse <jpp@koozali.org> 1.0-4.sme * Sun Dec 15 2024 Jean-Philippe Pialasse <jpp@koozali.org> 1.0-5.sme
- add mini-qmail as Message delivery agent [SME: 12737] - add mini-qmail as Message delivery agent [SME: 12737]
few other fixes few other fixes; +x on needed executable files
TODO migrate old qmail properties and change in template migrate old qmail properties used in postfix
TODO catch all non existing recipient / check BCC working catch all non existing recipient / check BCC working
* Tue Nov 19 2024 Jean-Philippe Pialasse <jpp@koozali.org> 1.0-3.sme * Tue Nov 19 2024 Jean-Philippe Pialasse <jpp@koozali.org> 1.0-3.sme
- add requirements [SME: 12737] - add requirements [SME: 12737]
@ -64,10 +64,10 @@ rm -f %{name}-%{version}-filelist
/sbin/e-smith/genfilelist $RPM_BUILD_ROOT \ /sbin/e-smith/genfilelist $RPM_BUILD_ROOT \
--file /sbin/e-smith/systemd/postfix-reload 'attr(750,root,root)' \ --file /sbin/e-smith/systemd/postfix-reload 'attr(750,root,root)' \
--file /sbin/e-smith/systemd/postfix-pre 'attr(750,root,root)' \ --file /sbin/e-smith/systemd/postfix-pre 'attr(750,root,root)' \
--file /usr/bin/dotqmail 'attr(0554,root,root)' \
--file /usr/bin/postqmail-local 'attr(0554,root,root)' \
--file /usr/local/bin/seekablepipe 'attr(0554,root,root)' \
> %{name}-%{version}-filelist > %{name}-%{version}-filelist
#echo "%doc COPYING" >> %{name}-%{version}-filelist
#--dir <dir> 'attr(755,user,grp)' \
#--file <file> 'attr(755,root,root)' \
%clean %clean
cd .. cd ..