Les mails
Configuration des clients:
SMTP
IMAP
Le serveur
Le serveur est composé de
- ~Opensmtpd~ Exim - serveur smtp ( envoi/reception de mail )
- Dovecot - serveur imap ( pour stocker les mails, et lire ses mails avec un client )
- Sieve (dans dovecot): rules pour trier les mails dans des dossiers etc... dnf install dovecot-pigeonhole
- Dkimfilter - signe les mails avec la clé public du serveur
- Des champs dns -
/var/named/ppsfleet.navy.d/ppsfleet.navy.mail.include
Tout est géré via systemd, installé sur l'auth
Exim
La conf exim est divisé en plusieurs section. https://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_default_configuration_file.html
Les paramètre globaux (en haut), tel que les certificats et d'autres truc generaux
la section begin acl. Vérifie si on accepte d'envoyer le mail selon l'emetteur, a qui on l'envoi, le type mime etc...
On a configuré les sections via ces lignes:
acl_smtp_mail = acl_check_mail
acl_smtp_rcpt = acl_check_rcpt
.ifdef _HAVE_PRDR
acl_smtp_data_prdr = acl_check_prdr
.endif
acl_smtp_data = acl_check_data
acl_smtp_mime = acl_check_mime
la section begin routers.
The routers that you find under 'routers configuration' contain conditions that determine under which conditions 'something' happens to the mail. What happens next is determined by the transports under 'transport configuration'.
system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup{$local_part@$domain}lsearch{/etc/mails/aliases.txt}}
# user = exim
file_transport = address_file
pipe_transport = address_pipe
localuser:
debug_print = "R: local_user for $local_part@$domain"
driver = accept
domains = +local_domains
# local_part_suffix = +* : -*
# local_part_suffix_optional
transport = dovecot_lmtp
cannot_route_message = Unknown user
la section begin transports
la section begin retry. Règle de retry
la section begin rewrite. vide
la section begin authenticators. Pour l'authentification.
On utilise dovecot.
begin authenticators
dovecot_plain:
driver = dovecot
public_name = PLAIN
server_socket = /var/run/dovecot/auth-client
server_set_id = $auth1
Pour que ca fonctionne on doit avoir exim lancé avec le groupe mail. C'est dans le fichier /etc/sysconfig/exim
Sieve
Pour utiliser sieve coté dovecot, il faut que exim parle avec dovecot en "Dovecot LDA" via /usr/libexec/dovecot/deliver. Au lieu d'utiliser le protocol lmtp.
coté exim, il faut ajouter un nouveau transports
dovecot_delivery:
driver = pipe
command = /usr/libexec/dovecot/deliver -d ${lookup{$local_part}lsearch{/etc/mails/passwd.txt}}@${lookup{$domain}lsearch{/etc/mails/domains.
txt}}
message_suffix =
log_output
delivery_date_add
envelope_to_add
return_path_add
#group = mail
#mode = 0660
temp_errors = 64 : 69 : 70: 71 : 72 : 73 : 74 : 75 : 78
le lookup est important, pour eviter un warning "Tainted arg 2 for dovecot_virtual_delivery transport command"
cote dovecot:
https://doc.fedora-fr.org/wiki/Dovecot#Utilisation_de_Dovecot_comme_%22Local_Delivery_Agent%22
https://doc.dovecot.org/2.3/configuration_manual/protocols/lda/
Les utilisateurs:
Il y a 3 fichiers:
- Les noms de domaines:
/etc/mails/domains.txt
- Les mot de passe:
/etc/mails/passwd.txt
- Les alias (reception):
/etc/mails/aliases.txt
Pour générer le hash du mot de passe: doveadm pw -s SHA512-CRYPT
todo: unifier tout ça, avec auth.ppsfleet.navy si possible