Relayer des méls, c'est accepter d'envoyer des méls d'un domaine qui n'est pas le notre. On distingue ici deux cas : le relai sans tcpserver et avec tcpserver. Pour l'installation de tcpserver, voir 14.8.3.
Par défaut, aucun serveur ne peut relayer de méls. Ceci est contrôlé par le fichier /var/qmail/control/rcpthosts qui contient le nom de notre domaine (qui figure également dans le fichier /var/qmail/control/locals) et /var/qmail/control/virtualdomains, qui sont les hôtes pour lesquéls ont configure notre serveur de méls. Pour autoriser d'autre domaines à utiliser notre serveur de méls comme relai, il suffit juste de rajouter leurs noms dans ce fichier. La page de manuel de qmail-smtpd(8) donne tous les détails nécessaires sur le format de ce fichier. Noter que si le fichier /var/qmail/control/rcpthosts n'existe pas, qmail-smtpd acceptera de relayer tous les méls.
Voici un exemple de fichier /var/qmail/control/rcpthosts :
.chez.moi chez.moi
Ici, qmail-smtpd refusera tous les méls extérieurs à notre domaine chez.moi.
smtp: .mondomaine.amoi 127.0.0.1: \ setenv RELAYCLIENT:\ twist { { /usr/bin/tcp-env /usr/sbin/qmail-smtpd 1>&3;} \ 2>&1|splogger qmail;} 3>&1 smtp: ALL: \ twist { { /usr/bin/tcp-env /usr/sbin/qmail-smtpd 1>&3;} \ 2>&1|splogger qmail;} 3>&1
194.126.4.1:allow, RELAYCLIENT=" "
et reconstruire la base de données :
# tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp < /etc/tcp.smtp # chmod 644 /etc/tcp.smtp* #