Si votre fournisseur d'accès à internet bloque le port smtp (25), vous serez bien embêtés pour envoyer des messages. Au moins deux solutions s'offrent à vous :
Nous supposerons que vous disposez d'un accès par smtp sur un autre serveur
(votre fournisseur de mail habituel). Vous envoyez déjà des courriels avec ce
dernier à l'aide d'un identifiant et d'un mot de passe. Mettez ces derniers dans un fichier /etc/mail/secrets
sous cette forme :
# echo "id_secret utilisateur:motdepasse" > /etc/mail/secrets
Bien sûr, vous aurez remplacé les éléments suivants :
/etc/mail/smtpd.conf
qui est lisible par tous les utilisateurs du système.Avant d'aller plus loin, modifiez les permissions sur ce fichier afin que seul smtpd puisse le lire et root le modifier :
# chmod 640 /etc/mail/secrets # chown root:_smtpd /etc/mail/secrets
Ensuite, modifiez le ficher /etc/mail/smtpd.conf
comme ceci afin d'indiquer
d'envoyer les messages à l'aide de ce service externe :
... table secrets "/etc/mail/secrets" ... listen on all... ... action "relay" relay host smtp+tls://id_secret@smtp.exemple.com \ auth <secrets> mail-from "@chezmoi.tld" ... match from any for any action "relay"
Un peu d'explications ne feront pas de mal, surtout pour que vous sachiez quoi modifier :
table secrets
: On indique où se situe le fichier contenant les identifiants secrets pour joindre le relai smtp définit plus haut.action “relay” relay …
: on définit l'action qui permet d'envoyer les mails par le biais du serveur smtp externe qui sert de relai. Il faut ici modifier “id_secret
” par le repère définit plus haut. Ainsi, on n'écrit pas directement vos identifiants, c'est plus sûr puisque le fichier /etc/mail/smtpd.conf
est lisible par tous les utilisateurs de votre serveur. Vous devez aussi changer le nom de domaine du serveur relai smtp.exemple.com
.smtp+tls
: il s'agit du protocole utilisé pour communiquer avec le relai. Ça peut être smtp
pour une session smtp normale avec STARTTLS si possible, smtp+tls
pour une utilisation de STARTTLS obligatoire, smtp+notls
si l'identification n'est pas chiffrée ou bien smtps
pour une connexion SSL. À vous de choisir ce que votre fournisseur propose (espérons smtp+tls
qui est plus sûr).auth <secrets>
: on utilise la table contenant les identifiants secrets.mail-from “@chezmoi.tld”
: On précise le nom de domaine de votre serveur pour que le courriel soit bien marqué comme venant de votre serveur et non du relai.
Pour finir, rechargez smtpd
pour profiter de cette nouvelle configuration :
rcctl restart smtpd
Pour un autre exemple, vous pouvez consulter le manuel de configuration pour smtpd.