Goed, het is gelukt.
Het volgende heb ik gedaan:
dovecot en openldap geïnstalleerd op OpenBSD.
Een nieuwe sendmail.cf gemaakt op basis van openbsd-local.mc. De modificatie was het toeoegen van een smarthost en het toevoegen van een dovecot-mailer en het definieren van een mailertable en een virtusertable. (relevante veranderingen vet)
divert(-1)
# Sendmail configuration for mailhost as smarthost additional mailer dovecot-deliver
# virtusertable and mailertable
#
divert(0)dnl
VERSIONID(`@(#)mailhost-dovecot.mc $Revision: 0.1 $')
OSTYPE(openbsd)dnl
[b]define(`SMART_HOST', `smtp.domaint.name')dnl [/b]
FEATURE(nouucp, `reject')dnl
FEATURE(`accept_unresolvable_domains')dnl
FEATURE(`no_default_msa')dnl
[b]FEATURE(`mailertable', `hash -o /etc/mail/mailertable')dnl
FEATURE(`virtusertable', `hash /etc/mail/virtusertable')dnl[/b]
MAILER(local)dnl
MAILER(smtp)dnl
[b]MAILER(dovecot)dnl[/b]
DAEMON_OPTIONS(`Family=inet, address=127.0.0.1, Name=MTA')dnl
DAEMON_OPTIONS(`Family=inet6, address=::1, Name=MTA6, M=O')dnl
DAEMON_OPTIONS(`Family=inet, address=127.0.0.1, Port=587, Name=MSA, M=E')dnl
DAEMON_OPTIONS(`Family=inet6, address=::1, Port=587, Name=MSA6, M=O, M=E')dnl
CLIENT_OPTIONS(`Family=inet6, Address=::')dnl
CLIENT_OPTIONS(`Family=inet, Address=0.0.0.0')dnl
dnl
dnl Some broken nameservers will return SERVFAIL (a temporary failure)
dnl on T_AAAA (IPv6) lookups.
define(`confBIND_OPTS', `WorkAroundBrokenAAAA')dnl
dovecot.m4 had ik ook een beetje aangepast, om door sendmail de juiste eigenaar van het deliver-proces te kunnen laten instellen, en om de gebruikersnaam die wordt aangeleverd juist te formatteren (cq het strippen van het domein waar ik het in de vorige post over had (voor grotere/meerdere domeinen kun je het beter anders opzetten natuurlijk))
######################*****##############
### DOVECOT Mailer specification ###
##################*****##################
VERSIONID(`$Sendmail: dovecot.m4,v 0.01 ca Exp $')
Mdovecot, P=/usr/local/libexec/dovecot/deliver, F=DFMPhnu9[b]S[/b],
S=EnvFromSMTP/HdrFromSMTP, R=[b]EnvToL[/b]/HdrFromSMTP,
T=DNS/RFC822/X-Unix,
A=deliver -d $u
Ik heb aan virtusertable de gebruikers toegevoegd (die tabel moet dus nog naar ldap worden verplaatst,
sendmail kan met ldap support voor die tabellen worden gecompileerd).
User-A@MailHost.local.local %1@dovecot-vmail.local
User-B@MailHost.local.local %1@dovecot-vmail.local
User-C@MailHost.local.local %1@dovecot-vmail.local
User-D@MailHost.local.local %1@dovecot-vmail.local
Dan heb ik de regel
dovecot-vmail.local dovecot:
toegevoegd aan mailertable om de betreffende adressen te laten bezorgen door deliver.
dovecot-ldap.conf en dovecot.conf heb ik min of meer volgens het boekje opgezet (eerst te weinig volgens het boekje, vandaar
dit), evenals de LDAP-directory (homedir en uid extraheert deliver uit de directory, de uid voor dovecot-vmail is statisch vastgelegd.)
Nu dus nog tzt sendmail hercompileren met LDAP-support, de tabellen naar ldap verplaatsen en algeheel de configuratiebestanden wat opruimen/overzichtelijker maken. En amavisd opzetten...
Heb ik problemen/veiligheidslekken over het hoofd gezien?
[
Voor 3% gewijzigd door
begintmeta op 30-10-2008 18:23
]