# smeserver-postfix
SMEServer Koozali developed git repo for smeserver-postfix core
## Wiki
https://wiki.koozali.org/smeserver-postfix
## Bugzilla
Show list of outstanding bugs:
[All](https://bugs.koozali.org/buglist.cgi?action=wrap&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=NEEDINFO&bug_status=IN_PROGRESS&bug_status=RESOLVED&bug_status=VERIFIED&cf_package=smeserver-postfix&classification=SME+Server&list_id=105756&order=changeddate+DESC%2Ccomponent%2Cpriority%2Cbug_severity&query_format=advanced)
[Confirmed](https://bugs.koozali.org/buglist.cgi?action=wrap&bug_status=CONFIRMED&cf_package=smeserver-postfix&classification=SME+Server&order=changeddate+DESC%2Ccomponent%2Cpriority%2Cbug_severity&query_format=advanced)
[Unconfirmed](https://bugs.koozali.org/buglist.cgi?action=wrap&bug_status=UNCONFIRMED&cf_package=smeserver-postfix&classification=SME+Server&order=changeddate+DESC%2Ccomponent%2Cpriority%2Cbug_severity&query_format=advanced)
[Need info](https://bugs.koozali.org/buglist.cgi?action=wrap&bug_status=NEEDINFO&cf_package=smeserver-postfix&classification=SME+Server&order=changeddate+DESC%2Ccomponent%2Cpriority%2Cbug_severity&query_format=advanced)
[In progress](https://bugs.koozali.org/buglist.cgi?action=wrap&bug_status=IN_PROGRESS&cf_package=smeserver-postfix&classification=SME+Server&order=changeddate+DESC%2Ccomponent%2Cpriority%2Cbug_severity&query_format=advanced)
[Resolved](https://bugs.koozali.org/buglist.cgi?action=wrap&bug_status=RESOLVED&cf_package=smeserver-postfix&classification=SME+Server&order=changeddate+DESC%2Ccomponent%2Cpriority%2Cbug_severity&query_format=advanced)
[Verified](https://bugs.koozali.org/buglist.cgi?action=wrap&bug_status=VERIFIED&cf_package=smeserver-postfix&classification=SME+Server&order=changeddate+DESC%2Ccomponent%2Cpriority%2Cbug_severity&query_format=advanced)
## Description
Koozali SME Server wrapper to configure postfix
## Development and testing
```
mkdir -p /etc/e-smith/templates-custom/var/service/{qpsmtpd,sqpsmtpd,uqpsmtpd}/config/peers/{0,local}/90queue-qmail-queue
echo 'return "queue/postfix-queue";' > /etc/e-smith/templates-custom/var/service/{qpsmtpd,sqpsmtpd,uqpsmtpd}/config/peers/{0,local}/90queue-qmail-queue
config setprop qmail status disabled
systemctl stop qmail
signal-event email-update
dnf install smeserver-postfix
```
then test
```
echo "This email confirms that Postfix is working" | mail -s "Testing Posfix" emailuser@example.com
```
or using roundcube/ mail client
to remove
```
rm -rf /etc/e-smith/templates-custom/var/service/{qpsmtpd,sqpsmtpd,uqpsmtpd}/config/peers/{0,local}/
config setprop qmail status enabled
systemctl start qmail
signal-event email-update
dnf remove smeserver-postfix
```
DONE
* main domain
* listen only socket
* virtual alias for system, pseudonyms, groups, shared
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
* migrate and rewrite code for smtp-auth-proxy properties
* migrate and remove qmail properties to postfix
* make a copy of qmail/config/smtproutes to (su)qpsmtpd/config/smtproutes
TO CHECK
$prop->{Blacklist} = $smtp_proxy_rec->prop('Blacklist') || " ";
$prop->{Debug} = $smtp_proxy_rec->prop('Debug');
VARIABLES
domain
* domain -> EmailTo to send all emails for a domain to an email
* domain -> MailServer
* domain -> VirtualMail as default disabled, will only accepte mails to a defined pseudonym for this domain
config
* DelegateMailServer
* SMTPSmartHost
* qmail/postfix->MaxMessageSize defined as 15Mb
* qmail/postfix->FilterType (empty)
* qmail/postfix->ConcurrencyRemote default to 20
* qmail/postfix->ConcurrencyLocal default to 20
* qmail/postfix->DoubleBounceTo default to postmaster
* postfix->tls_security_level default to may
* postfix->tls_enforce_peername default to yes
* $qpsmtpd{HeloHost} default to $myhostname
* smtp-auth-proxy SMTPSmartHost
* smtp-auth-proxy Userid
* smtp-auth-proxy Passwd
* smtp-auth-proxy PeerPort
* EmailUnknownUser (default to returntosender)
REFERENCES
* https://phoenixnap.com/kb/postfix-smtp
* https://www.gentei.org/~yuuji/software/dotqmail/
* https://www.gentei.org/~yuuji/software/dotqmail/dotqmail
* https://sixohthree.com/424/smtp-2
* https://mailing.postfix.users.narkive.com/AhepT4TC/qmail-local-transport
* https://skarnet.org/software/s6-portable-utils/
* https://johnleach.co.uk/documents/qmail-to-postfix/
* https://www.mail-archive.com/search?l=tmda-users@tmda.net&q=subject:%22Slightly+OT%5C%3A+Opinions+Wanted+%5C-+Implementing+dot%5C-qmail+in+postfix%5C%3F%22&o=newest&f=1
* https://luke.skr.jp/hsj/?cmd=backup&action=nowdiff&page=OpenBlockS%2FMailServer&age=3
* https://www.postfix.org/ADDRESS_CLASS_README.html#virtual_mailbox_class
* https://www.postfix.org/VIRTUAL_README.html#virtual_mailbox
* https://www.postfix.org/ADDRESS_CLASS_README.html#virtual_alias_class
* https://www.postfix.org/master.5.html
* https://hostadvice.com/how-to/web-hosting/vps/how-to-setup-postfix-as-send-only-mail-server-on-an-ubuntu-18-04-dedicated-server-or-vps/
* https://sscnet.ch/content/update-3-installing-qpsmtpd-bionic-beaver-ubuntu
* https://www.postfix.org/postconf.5.html#luser_relay
* https://serverfault.com/questions/960074/luser-relay-does-not-forward-the-emails
* https://serverfault.com/questions/885483/postfix-catchall-user-not-found-in-virtual-alias-table