Sendmail: Envoyer des mails via un relai smtp sur FreeBSD

Bonjour,

Il m’arrive de travailler pas mal avec des OS FreeBSD. Il y a un système de mail quotidien/hebdomadaire/mensuel assez interessant qui envoi des mails sur le compte root de la machine.

Je voulais trouver un moyen simple de pouvoir recevoir ces mails là sur ma boite perso pour avoir un suivi des incidents/reporting. Ca n’a pas été facile au début de trouver les bonnes infos mais au final j’ai pu dénicher ce que je voulais.

Je me suis basé sur les outils disponibles dans le système à l’installation et notamment sendmail. Cette configuration peut également être adaptée pour recevoir ou envoyer des mails via relai smtp depuis son post.

La première chose à modifier/configurer dans cette situation est le relai smtp utilisé. C’est pas toujours suffisant et il est souvent nécessaire de mappé un utilisateur local avec une adresse externe réelle pour que le serveur smtp renseigné accepte le mail envoyé.

Pour la démonstration, on considère que notre machine a pour nom de domain localhost.localdomain et que l’utilisateur pris pour l’exemple est utilisateurlocal.

On commence donc par créer notre fichier de configuration :

# cd /etc/mail
# make

On modifie ensuite le fichier localhost.localdomain.mc pour ajouter les informations adéquates :

# ee localhost.localdomain.mc

divert(0)
VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.mc,v 1.37.2.2.4.1 2010/12/21 17:09:25 kensmith Exp $’)
OSTYPE(freebsd6)
DOMAIN(generic)

FEATURE(access_db, `hash -o -T /etc/mail/access’)
FEATURE(blacklist_recipients)
FEATURE(local_lmtp)
FEATURE(mailertable, `hash -o /etc/mail/mailertable’)
FEATURE(virtusertable, `hash -o /etc/mail/virtusertable’)

FEATURE(masquerade_envelope)
FEATURE(`genericstable’)
GENERICS_DOMAIN_FILE(`/etc/mail/generics-domains’)

dnl Uncomment to allow relaying based on your MX records.
dnl NOTE: This can allow sites to use your server as a backup MX without
dnl your permission.
dnl FEATURE(relay_based_on_MX)

dnl DNS based black hole lists
dnl ——————————–
dnl DNS based black hole lists come and go on a regular basis
dnl so this file will not serve as a database of the available servers.
dnl For that, visit
dnl http://www.google.com/Top/Computers/Internet/E-mail/Spam/Blacklists/

dnl Uncomment to activate Realtime Blackhole List
dnl information available at http://www.mail-abuse.com/
dnl NOTE: This is a subscription service as of July 31, 2001
dnl FEATURE(dnsbl)
dnl Alternatively, you can provide your own server and rejection message:
dnl FEATURE(dnsbl, `blackholes.mail-abuse.org’, “”550 Mail from ” $&{client_addr} ” rejected, see http://mail-abuse.org/cgi-bin/lookup?” $&{client_addr}”)

dnl Dialup users should uncomment and define this appropriately
dnl define(`SMART_HOST’, `your.isp.mail.server’)
define(`SMART_HOST’,`smtp.fai.fr’)

dnl Uncomment the first line to change the location of the default
dnl /etc/mail/local-host-names and comment out the second line.
dnl define(`confCW_FILE’, `-o /etc/mail/sendmail.cw’)
define(`confCW_FILE’, `-o /etc/mail/local-host-names’)

dnl Enable for both IPv4 and IPv6 (optional)
DAEMON_OPTIONS(`Name=IPv4, Family=inet’)
DAEMON_OPTIONS(`Name=IPv6, Family=inet6, Modifiers=O’)

define(`confBIND_OPTS’, `WorkAroundBrokenAAAA’)
define(`confNO_RCPT_ACTION’, `add-to-undisclosed’)
define(`confPRIVACY_FLAGS’, `authwarnings,noexpn,novrfy’)
MAILER(local)
MAILER(smtp)

On créé ensuite le fichier generics-domains pour y mettre le nom de notre machine :

# ee generics-domains

localhost.localdomain

On met dans le fichier genericstable la correspondance entre le user local et une addresse mail externe existante.

# ee genericstable

utilisateurlocal@localhost.localdomain addressemailexistante@fai.fr

Note : Il faudra bien evidemment crée l’adresse mail addressemailexistante@fai.fr.

On prend en compte les modifications :

# make
# make install
# make restart

Désormais lors que l’utilisateur utilisateurlocal sur la machine localhost.localdomain enverra un mail l’adresse mail d’expéditeur sera addressemailexistante@fai.fr.

Voici donc comment configurer sendmail pour l’envoi de mail dans un contexte comme l’hébergement d’un blog chez soi 😉

A bientot.

Leave a Reply

Your email address will not be published. Required fields are marked *

Sécurité *